4 ms·
Open source software is not a zero-sum game, or a limited resource to be rationed out. There is no such thing as a tragedy of the commons with open source code,
by jashkenas 15y ago
Open source software is not a zero-sum game, or a limited resource to be rationed out. There is no such thing as a tragedy of the commons with open source code, because the more of it you give away, the more you have.
- tomdale 15y agoI respectfully disagree. The paradox of choice is not, I think, controversial to anyone here. There is a cognitive burden to new web developers when deciding which framework to use. Often times, they'll make the wrong choice, say "forget it," and go back to native development. The social incentives in the JavaScript community are structured so that you get recognition for rolling your own library because you disagree with a naming choice. Forking or rolling your own should be a last ditch effort, not the first tool in your toolbelt. Competition is great, but it must be balanced with collaboration. And I think that's what's out of whack in the JavaScript community.
- wycats 15y agoFWIW, I think Backbone is an example of a library that does things right: it's well-maintained, has an awesome community, and a whole ecosystem of plugins and extensions around it. It's the Backbone copycats that drive me crazy.
- jtaby 15y agoA bunch of mildly different Javascript frameworks creates a paradox of choice for the users. It means that when users start developing a new project, they have to weigh the benefits and costs of each of the framework. This not only increases the barrier to entry, but as Barry Schwartz outlines in his book "The Paradox of Choice", it also creates a paralysis and unhappy decisions. That's only one of the problems. Another problem is that by having all these smart people dedicate their time to solving the same problem over and over, we get stuck at the same level of abstraction. If instead of solving the same problem in slightly different ways, we iterate and build abstractions, we can make apps previously impossible to build in reasonable budgets and time, possible. It doesn't need to be Sproutcore that we coalesce around. It could be Backbone. This has already happened with jQuery. The JavaScript community coalesced around the framework, contributed API changes, bug fixes, documentation, unit tests, and as a result, we can operate and build applications without having to re-implement the same cross-browser, low-level code. http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_choice.html http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_ch...
- tdegrunt 15y agoBarry Schwartz also talks about the different vinegars, olive oils to make your own salad dressing. Mix & Match. Are you proposing we only have a few salad dressings? I consider jQuery an olive oil, SproutCore a dressing.
- JunkDNA 15y agoMy team has struggled to decide how to build a rich JS app precisely because there are so many choices. We have spent a lot of time looking at the strengths and weaknesses of each of the major ones. All that time was time spent not coding. Now, as developers working with the latest stuff, this goes with the territory. But at the same time all this choice was not zero cost for us by any means.