If a person releases their source under some Open source license. And later if another person contributes to the project through a pull request (in Github). Then, does the contributor gets a say if the first person decides to make the software proprietary?

Should the second contributor include a license to their contribution, to prevent misuse of their contribution?


Suppose that the original creator A releases a project under an open source license XYZ.

Suppose that a contributor B contributes code to that project under the same license.

In that case, the question whether or not the contributor can always choose to make his own source code proprietary, but whether or not he can make the source code of contributor B proprietary depends on the nature of the license XYZ.

  • If XYZ is a permissive license (such as BSD, MIT, ASL), then there is no problem. Creator A can close the source of his project, and the XYZ license allows use of the code contributed by contributor B in a closed source context.
  • If XYZ is a copyleft license (such as GPL, AGPL), then creator A needs explicit permission from contributor B to use the contributions in a closed source context.

Actually, I have gone through this exercise with my own project, iText. Originally, iText was released using the MPL/LGPL, but that made it impossible for me to create a business model. See How can large open source projects be monetized? The lack of revenue almost killed the project (my son was diagnosed with Cancer and I could no longer maintain the project. At some point, the project almost died).

The only way to make the project survive, was to change the license from MPL/LGPL to AGPL, but I couldn't do that without the permission of every person who contributed to the project. Watch this video to learn about the IP review that was done to clean up the IP of the iText project. As described in my talk "IANAL: what developers should know about IP and Legal" (presented at JavaOne in 2015), I had to ask every contributor to sign a CLA before I could change the license. This took a long time (I started the process in 2006; it took me until September 2009 before I could start the license migration process). See also Can iText 2.1.7 / iTextSharp 4.1.6 or earlier be used commercially? for the history of this process.

Note that the contributors with substantial code contributions were compensated (either financially or by granting specific rights) for their contributions once iText started generating money. There were some contributors who refused to sign the CLA. Their code was either removed from the codebase (that's how we lost the Rich Text Format part of iText) or refactored (some minor parts of the code were rewritten from scratch).

Update: additionally you might want to read the story about "Patrick" in the Eat Me of the ZeroMQ Guide. It's a great story that tells a truth less experienced open source developers haven't discovered yet, a truth open source users know very little about. Mind the difference I'm making between open source developers (those who create and maintain open source projects) and open source users (those who merely use open source, but don't make substantial contributions to open source).

  • I read Google's CLA. I am referring to Point 2 here: Grant of Copyright License. You hereby grant to Google and to recipients of software distributed by Google a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works. It looks nefarious that Google gets the right (and can monetize) for the efforts of the community. What do you think? – Nikhil Aug 1 '18 at 10:43
  • 1
    Google used the MPL/LGPL version of iText in many of their projects, but when I reached out to Google (Chris DiBona, Michael Van Riper,...), they gave me the cold shoulder. I soon realized that Google was more interested in using software for free than in rewarding free software developers for their contributions. Google is a commercial company with the goal to make as much money as possible for their shareholders (that's not a reproach; it's the definition of a for profit company). Developers who think otherwise are rather naive. Of course Google wants to monetize the work they do for free! – Bruno Lowagie Aug 1 '18 at 11:01

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.