Lots of reason. OSS usually tries to duplicate something that's already there, or make small improvements. There's a lot more chance for a result that others will find impressive when doing something incremental, because you are building on all the stuff that's already there. In fact, academia is also the largely that way: do a small increment.
Doing something that's true invention is far more difficult, and the results are far less impressive in the short to mid term. As an example, you probably won't find Objective-Smalltalk [1] very impressive, I would say that a good part of the reason for this is that it is really trying to invent something new. This is slow/difficult because you must eschew the easy/obvious answers. It is difficult to communicate for the same reasons: everything is subtly strange.
Some of academia looks at completely novel approaches rather than increments, but the main issue here is, after the budget has gone, or the phd has been issued, the project is left in the water as a new project, new budget and new paper to publish is required. There's no such thing as a "10 year project" in academia.
Rust is hardly groundbreaking. It's a mix of imperative/functional styles that are well known, thrown in with pointer ownership which has been researched and toyed with in various forms for years before. It's a small improvement on C and C++. Making a practical implementation is praisworthy, but I'd say this hardly counts as an invention in open source, and it's particulaly unrepresentitive of the FOSS community anyway because it's backed by a big company with a big research pot.
The kind of game changers Kay is talking about are not that easily approachable. You won't be able to take your existing knowledge of language X and suddenly see how they mostly apply to Y too. If that were the case then you've not really changed the paradigm, only given a glimpse of how it could look from the existing one.
And the reason you don't see many of these kinds of innovations in the FOSS world (although they definitely exist), is because they don't gain traction. If something is clearly new and takes significant effort to learn, very few people are going to take the time to investigate it. Meanwhile, solutions which fit well into the existing paradigm are easily accessible by masses of developers, and they flourish. This is probably one of the main reasons that real invention is rare: people are after fame, and adoption rates aren't going to go up quickly if you challenge existing conventions.
Comments
Lots of reason. OSS usually tries to duplicate something that's already there, or make small improvements. There's a lot more chance for a result that others will find impressive when doing something incremental, because you are building on all the stuff that's already there. In fact, academia is also the largely that way: do a small increment.
Doing something that's true invention is far more difficult, and the results are far less impressive in the short to mid term. As an example, you probably won't find Objective-Smalltalk [1] very impressive, I would say that a good part of the reason for this is that it is really trying to invent something new. This is slow/difficult because you must eschew the easy/obvious answers. It is difficult to communicate for the same reasons: everything is subtly strange.
[1] http://objective.st/
Some of academia looks at completely novel approaches rather than increments, but the main issue here is, after the budget has gone, or the phd has been issued, the project is left in the water as a new project, new budget and new paper to publish is required. There's no such thing as a "10 year project" in academia.
Rust? I'm sure there are many other counter examples too.
Rust is hardly groundbreaking. It's a mix of imperative/functional styles that are well known, thrown in with pointer ownership which has been researched and toyed with in various forms for years before. It's a small improvement on C and C++. Making a practical implementation is praisworthy, but I'd say this hardly counts as an invention in open source, and it's particulaly unrepresentitive of the FOSS community anyway because it's backed by a big company with a big research pot.
The kind of game changers Kay is talking about are not that easily approachable. You won't be able to take your existing knowledge of language X and suddenly see how they mostly apply to Y too. If that were the case then you've not really changed the paradigm, only given a glimpse of how it could look from the existing one.
And the reason you don't see many of these kinds of innovations in the FOSS world (although they definitely exist), is because they don't gain traction. If something is clearly new and takes significant effort to learn, very few people are going to take the time to investigate it. Meanwhile, solutions which fit well into the existing paradigm are easily accessible by masses of developers, and they flourish. This is probably one of the main reasons that real invention is rare: people are after fame, and adoption rates aren't going to go up quickly if you challenge existing conventions.
Thanks, you put it much better than I did.