I used to feel the same way, until I came to the conclusion that the benefit gained from my retaining control over a project and keeping it perfect is less than the benefit gained by releasing it. In particular, it doesn’t just help other people, it helps me, by attracting contributions from other people who do stuff I haven’t done myself.
changes will happen to it that I don't approve of
I think this pales in comparison to the probability that changes will happen that you do
Example: Someone recently decoded how battle animations work in Pokémon Red
, and added the code to the disassembly. I would have gotten to this eventually—I actually had started work on it. Because the work I had done on it was public, he was able to use it as a base to complete the project, disassemble the code and data, and document it all. If I hadn’t released my half-finished work, he would have wasted time reverse engineering it all himself, and I might never have seen the final result. Open-sourcing things helped both him and me.
incremental releases will happen, flooding the web with dozens of versions of a translation, none of which fit within my ideals.
I argue that a well-maintained project actually decreases
fragmentation. How many Wikipedias are there? Only one (that people care about). The data on Wikipedia is under an open license, so anyone could create their own Wikipedia mirror with their own subtle changes, but nobody does that—they contribute to the original.
Sure, people take it and sell crappy ebooks on Amazon. But would Wikipedia be what it is if it were under a restrictive license? Even Linux, which is both open source and
kept in a source control system specifically designed
to make things easy to fork, is rarely forked—the only one I can think of is Android, and they’re even working to merge that into mainline. The point of open source is to reduce the barrier to entry for contributions.