Hacker News new | past | comments | ask | show | jobs | submit login
Contributing to Clojure (insideclojure.org)
54 points by michaelsbradley on May 3, 2015 | hide | past | favorite | 9 comments



Interesting to contrast with contributing to Servo, https://github.com/servo/servo/blob/master/CONTRIBUTING.md. Basically open a pull request on github and wait for review by a project team member.

Clojure has many more steps. I'm curious if those steps are by default due to the software they use (JIRA) or because of specific issues Rich saw with contributing.

Linux also has a very different contributor model, mailing list based, to either clojure or servo. Which I know is due to the volume of changes for each release.


It has nothing to do with the software. The intention behind the process is to have a screener + Rich agree the problem is a good one and a screener + Rich agree the patch is a good one.

Regardless, the work involved in all of the steps combined is insignificant compared to the essential work of creating and reviewing the patches.


Before I say anything, I want to say to onlookers: Alex, Rich, et al bust their asses to do a thorough job of reviewing patches. Clojure has a stunning good track record of quality, backwards compatibility, and robust design. This is in no small part due to the meticulous contribution process.

That being said...

> the work involved in all of the steps combined is insignificant compared to the essential work of creating and reviewing the patches.

Certainly true for most interesting bug fixes and enhancements. However, I've found that it's not true for a fair number of small issues I encounter on a not-uncommon basis. Most of them escape my memory now, but I've run across issues like docstring typos or the like, and it's just not worth the effort to submit a ticket and patch.

This particularly afflicts ClojureScript, where the review process isn't nearly as rigorous. Especially true when ClojureScript lags Clojure, and all the hard problem analysis and design work has been completed on the JVM side of the fence. Often a copy/paste is sufficient to get the work moved over to ClojureScript, in which case the work of creating a Jira ticket dominates the effort to make the change.

I don't have a particularly good solution. Part of the problem is learned hatred of JIRA... Anyway, I'll stop looking at this gift horse's mouth.


To add on to that...

Even though, I haven't been involved in the contributing process for Clojure, but I thought it was interesting that Brian Goetz's keynote at the Conj 6 months ago was about stewardship, in particular, stewardship of the Java language:

https://www.youtube.com/watch?v=2y5Pv4yN0b0

It gave me a better appreciation for the differing concerns of someone using a language or contributing a patch vs. someone designing & maintaining a language.

In my day-to-day, I use languages other than Clojure, and I sorely miss the cohesive and good design. Brian Goetz's talk nails it on the head why the languages in my day-to-day are sub-optimal, even if they're currently the "new hotness"... at least for now...


I can't think of another open-source project with a more convoluted process for contributing.


digium requires you to sign a license agreement https://issues.asterisk.org/jira/secure/DigiumLicense.jspa


Have you contributed to an Apache project?


Ouch, they require copyright assignment. The only copyright assignment terms I've ever found agreeable were the Free Software Foundation's. I would not be willing to assign my copyright to a single person.


Note it's joint assignment - you retain yours as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: