← Back to context

Comment by drcode

7 years ago

I kind of wish people complaining about Clojure's development process (and of other open source projects) would just create a fork and implement their own ideas.

This way, everyone could benefit from the experimentation and likely some of their ideas would get rolled into the root project once they have proven themselves.

Be careful what you wish for... you just might get it.

Forks are not particularly fun from the user's standpoint.

  • They mostly don't matter to users, because most forks fizzle out due to lack of interest, unless there's a really good reason for the fork. If the original maintainers aren't doing something weird like re-licensing under a more restrictive license or closing off development and refusing good patches from the community, it's very unlikely a fork will gain enough traction to end up on the radar of most users.

    We've had a few forks of our projects over the years...most often, there's just one initial commit with a few minor changes and some big words about how cool it'll be when the community can steer the ship...and, then nothing, forever. The thing about forking a big project is that it takes a lot of time and effort to make it better, or even significantly different, from the project you're forking. "Do not fork lightly" is good advice, but mostly because it's gonna be a waste of time in most cases.

    • This is why I've never worried about anyone stealing my ideas or code. The set of people who could both actually have the ability to pull off forking something and running the project, and have the motivation to see it through, is so vanishingly small as to be non-existent.

  • It has actually worked out pretty well in the case of Typelevel Scala. Users are free to compile using mainline Scala while using libraries that are built in Typelevel Scala. In most cases, this isn't even exposed to the user.