Patch policy for contributed code

As I’ve been looking through Juce code, I’ve been making small bug fixes to the juce core, and adding some flags to functions that do not change the core behavior of Juce. I was wondering if you would like source code changes contributed back of github or some other repository, and if so what your patch policy is. Thanks kindly.

Speaking as someone who’s been in the same position, unfortunately it’s currently somewhat difficult to contribute back to JUCE - the following is my personal impression on what I’ve seen when people contribute:

Posting your diffs here or as a push request should do the trick to get the JUCE team’s attention, but you’ll need to detail your changes thoroughly and anything new will probably be rewritten to meet super strict style/API standards. Depending on how much you’re contributing they may make you sign some sort of release form and you won’t get any authoring credit for your changes (which kinda sucks).

JUCE is very much a commercial effort with a GPL trial license vs. a collaborative open source project (which I think is a major strength - no feature creep, HEAVILY tested, commercial support, etc).

Definitely can’t hurt to make a pull request, we’d all like to see what you’ve done!

2 Likes

Yep, any fixes you find are much appreciated, but it does all have to get past our ridiculously strict style/licensing checks! If it’s a typo or one-liner, just let us know here and we’ll sort it out.

For bigger things, you can send us a patch or pull-request if you like, but don’t be surprised if we rewrite it all completely - I don’t think anyone has ever sent us a larger request that met our standards without at least a few changes!

It would be nice if we got a bit more feedback on pull requests via Github. It seems to take weeks or even months to get feedback on proposed changes. It seems to me that posting proposed changes via the forum get quicker attention from the JUCE team.

My request to the JUCE team would be for more communication around Github PRs. It can be quite daunting especially with bigger changes - it would be nice to get a courteous “Thanks we’ll take a look at this soon” or “This isn’t something we want to integrate at this stage” ideally with some feedback.

As a side note, Facebook have a Contributor License Agreement - was wondering if JUCE could adopt something similar in order to avoid any legal complications around accepting PRs?

Fair comment, we should improve that. We’ve actually had quite a few PRs stacking up recently, and should have a purge session to clear them…

I think we do now have a CLA which we’ll ask people to sign when there’s a non-trivial amount of code involved, but we just share it with people as necessary.

2 Likes