How Far Should I go?

Bas Wijnen wijnen at debian.org
Mon Oct 17 07:47:41 EDT 2011


>>> Reinventing the wheel is a good idea only if you are
>>> absolutely, positively sure your new wheel will be at least ten times
>>> better than the current state–of–the–art wheel.

That, or if you want to learn about how things work.

>> I am not an expert about if that applies in all the places and
>> topics. Ask to the chinese people. Maybe reinventing the wheel
>> is one way to know if something could be done better?. No all the
>> things are understood before it is done and you test and modify
>> the new thing for a long time.

Yes. Things which get older tend to be hard to change when new ways of 
doing things are discovered. Improving things isn't always feasable.

> That’s why I said reinventing the wheel is not a bad thing per se, you
> just have to be pretty sure your new design is actually going to
> significantly improve things in the long run.

I am pretty sure about that with Iris. :-) But even if it doesn't, I 
like to work on it anyway, because of what I'm learning from it.

> You also have to take into account that you’re not “competing” with a
> fixed design, but with something that is itself constantly improving,
> thanks to the collaborative efforts of hundreds of talented developers.

Sure. But if the new design has some features which cannot be 
incrementally added to the other system, they will at most get something 
that looks like it, and probably not working as well.

> So all I’m saying is, think carefully before you commit yourself to such
> a huge undertaking. Maybe your time would be better spent improving what
> we already have.

You have to take into account how much satisfaction this brings as well. 
I want to build hardware and control it with software. I've tried 
writing Linux kernel modules. It isn't nice. I don't get a good feeling 
from needing to rewrite large parts of it every month because Linus 
decided that some interface needed a change again.

Writing a new OS is a lot more work than writing a Linux module. But 
it's nice work. It makes me happy. And (although it is a lot more work), 
eventually it will work better for the things I'm trying to accomplish.

Note that I'm not interested in competing with GNU/Linux at all. I'm 
doing this mostly for myself; if others like it they can use it, or help 
me make it. My goal is not to "get more users than GNU/Linux", or 
something. I'm quite happy if it remains a popular system.

>>> Linux is not a perfect, but it works pretty damn well; moreover, it is
>>> developed by hundreds of really smart guys and supported by large
>>> companies that use it as a base for their main products, which ensures
>>> it will become better and better as time goes by.

I feel Linux is pretty much at its top. Small details will continue to 
improve (and I'm sure Linus will continue to break everything many 
times). But it won't suddenly turn into a micro-kernel, for example.

>>> If you really want to create something Ben–specific, my advice would
>>> be: don’t.

My advice is: only do it if you like to do the work. Don't do it just 
because you like the result. Because it is uncertain if the result is 
achieved at all, and if it is the quality may be disappointing. Both of 
those dangers are no problem if you enjoy working on it.

>>> Instead, use your time to improve the upstream situation
>>> of the Ben, to take mainteniance burden off Qi as much as possible.

This is very useful as well. But here, too, I suggest to not do anything 
you don't like. If you do, just because you expect other people to be 
really happy with your work, you will most likely be disappointed by the 
mild response.

Thanks,
Bas




More information about the discussion mailing list


interactive