2016-05-29
What does 'success' mean for a research operating system?
Sometimes people talk about how successful (nor not successful) an operating system has been, when that operating system was created as a research project instead of a product. One of the issues here is that there are several different things that people can mean by a research OS being a success. In particular, I think that there are at least four sorts of it:
- The OS actually works and thus serves as a proof of concept for the
underlying ideas that motivated this particular research OS
variation. What 'works' means may vary somewhat, since research
projects rarely reach production status; generally you get some
demos running acceptably fast.
Having your research OS actually work is about the baseline definition of success. It means that your ideas don't conflict with each other, can be made to work acceptably, and don't require big compromises to be implemented.
- The OS works well enough and is attractive enough that people
in your research group can and do build things on it and actively
use it. If it's a general purpose OS, people voluntarily and
productively use it for everyday activity; if it's a specialized
real time or whatever OS, people voluntarily build their own
projects on top of it and have them work.
A research OS that has reached this sort of success is more than just a technology demonstration and proving ground. It can do real things.
- At least some of your OS's ideas are attractive enough that they
get implemented in other OSes or at least clearly influence the
development of other OSes. This is especially so if your ideas
propagate to production OSes in some form or other (often in a
somewhat modified and less pure form, because that's just how
things go).
(As anyone who's familiar with academic research knows, a lot of research is basically not particularly influential. Being influential means you've achieved more success than usual.)
- Some form of your research OS winds up being used by outside people to do real work; it becomes a 'success' in the sense of 'it is out in the real world doing things'. Sometimes this is your OS relatively straight, sometimes it's a heavily adopted version of your work, and I'm sure that there have been cases where companies took the ideas and redid the implementation.
Most research OSes reach the first level of success, or at least most that you ever hear about (the research community rarely publishes negative results, among other issues). Or at least they reach the appearance of it; there may be all sorts of warts under the surface in practice in terms of performance, reliability, and so on. On the other hand some research OSes are genuine attempts to achieve genuinely usable, reliable, and performant results in order to demonstrate that their ideas are not merely possible but are actively practical.
It's quite rare for a research OS to reach the fourth level of success of making it into the real world. There are not many 'real world' OSes in the first place and there are very large practical obstacles in the way. To put it one way, there is a lot of non-research work involved in making something a product (even a free one).
(In general purpose OSes, I think only two research OSes have made a truly successful jump into the real world from the 1970s onwards, although it's probably been tried with a few more. I don't know enough about the real time and embedded computing worlds to have an idea there.)