by Yehuda Katz
Last month, I started a kickstarter to make it easier to install Rails on OSX and get started developing Rails applications. The response was largely positive, and I met my funding goal rather quickly. On the flip side, a number of folks publicly asked why this project is necessary. Surely, they reasoned, it would not be very difficult to script a Rails installation.
This sort of reasoning pervades the open source community, allowing apparent simplicity to drive inappropriately simplistic solutions. Worse, it implies that non-trivial solutions are "overengineering" the problem. Because open source solutions have historically leaked implementation complexity into the public API, some end developers have become wary of large solutions, often assuming that the simpler the solution, the better.
As examples of this phenomenon, I will talk about some aspects of Tokaido (the Rails project) that are unexpectedly difficult, and also how the bundler project faced a similar reaction in some circles. I will also talk about how certain seemingly complex solutions lead to win-wins by eliminating sources of errors that are not limited to new developers. These kinds of solutions always require more work and more code than the simple solutions, but they are worth it.
2nd May 2012