7

I'm currently working on an open source collaborative project, and I am still confused regarding licenses, and weeks of research didn't really help me pinpoint my particular case. Let me expose it:

  1. My aim is to release my project on GitHub, for free and with a license as permissive as possible -- as far as I am concerned, all my contributions could just as well be in the public domain.

  2. The project is a collection of articles and source code examples for a specific programming language, and it's build in the form of a website: I use a static flat-file CMS that builds from markdown files into a website. It will be released on GitHub in different ways:

    • The main repo will contain the source markdown docs, and also some SASS libraries, JS script, NodeJS libs, and open fonts (which come in different licenses).
    • The "compiled" project will also be available as a browsable website in GitHub pages (here the SASS/NodeJS libraries will no longer be included).
    • An "HTML compiled" version of the project will be available under releases, for offline browsing.

Central to the project is a book which the author has declared CC BY-NC-SA 3.0 when he decided he would no longer update the book, and explicitly wished others will take on the task of upgrading it with new releases of the language it deals with -- and so it has been, with all the code being corrected to match newer versions of the language, and some chapters retouched here and there.

What confuses me here is the SHARE-ALIKE aspect. I see my project as a collection of articles and examples, taken here and there with authors' explicit permission or in accordance to them being open source. Does it mean that the CC BY-NC-SA applies only to the book and its code examples, or it means that my whole project will have to be released under CC BY-NC-SA?

In a way, it's a case similar to CDs which come with computer magazines: they contain different softwares, each with its own license. Even if my project is a single project, to which I need to declare a license for it, is it correct to understand that each different chapter and its code examples are indipendent of each other and could have each one a different open source license, without conflicts?

After all, it would be difficult for me to reconcile the license of every single element included in the project (open fonts, sass and NodeJS libs, JS scripts, etc.).

I've tried some research on this topic, but didn't find clear answers because most of what I've found was talking about merging source codes together into a single derivative work -- were licenses might conflict because not all of them could be satisfied together. Also, I see this project more as an encyclopedic work, were code is just there for examples (as it would be in a book).

Anyone could advice me on how to go about it? As I said, I'd like to keep the project's license as permissive as possible, but also preserve the license of individual contributions to it.

1
  • I've got to say, you've got a pretty good question here! Welcome to Open Source Stack Exchange! :D
    – Zizouz212
    Commented Jun 26, 2016 at 21:36

2 Answers 2

3

CC BY-NC-SA has three requirements:

  • Attribution (BY)
  • NonCommercial (NC)
  • ShareAlike (SA)

Attribution is very easy to fulfil. ShareAlike is a copyleft-like mechanism but only activates if you perform an adaptation, that is if you modify the work. If you are including code examples verbatim then you aren't adapting.

The real problem is the NC clause. You cannot use it for any commercial purpose, adaptation or no. In practical terms, your entire book falls under a non-commercial license.

It's true that if your use qualifies as fair use, then you may be exempt from all these terms. But your use doesn't sound like it will qualify.

If making the whole book non-commercial is out of the question, one work-around is to use normal hyperlinks to link to those examples instead, which most countries don't consider copyright infringement.

4
  • thanks @congusbongus. As for the Non-Commercial clause, I have no problems with it: I'll release my whole project for free. The book in question will have its own space inside the project (ie: a folder of its own), and I was planning to include both the original book and source code examples (ie: as they were published in their last edition), in PDF format and a zip archive, plus the updated (derivative) version in HTML format, plus the adapted code. Commented Jul 2, 2016 at 8:28
  • The books is a text for PureBasic, a programming language which has undergone many updates. At version 4 of the language the author decided he would no longer update the book, he instead released it under CC BY-NC-SA 3.0, expressing the desire that other would update the text and the code. So, my plan was to update the code example so they can be compiled with the latest release of the language, and also tweak the text where language changes require it. Commented Jul 2, 2016 at 8:47
  • My project is not a book in itself, rather its a container of tutorials, docs and books, coming from the community built around the language. So my issue was trying to keep an overall license for the project that would allow different sub-projects to fit it inside it, even if they have different licenses. If including this book binds me to Non-Commercial, it's fine, I have no commercial aims. Commented Jul 2, 2016 at 8:47
  • What I fear is that it might compromise inclusion of other sub-projects with differente licenses (MIT, ecc.). Again, I am trying to maintain a clear division between subjprojects, so that users know what is what in it, and which license the work was released by. Hopefully, many future contributions will be added via GitHub, and I would like authors to feel free to have their contributions with a license they like. Not sure if this makes sense, I have trouble making out something concrete out of the abstractions of legal jargon of licenses. But your answer helped me narrow down the case. Commented Jul 2, 2016 at 8:47
1

Does it mean that the CC BY-NC-SA applies only to the book and its code examples, or it means that my whole project will have to be released under CC BY-NC-SA?

The way I read the "copyleft" terms of this CC license I would consider this to apply only to the book and its code examples that were originally licensed under the CC BY-NC-SA license.

Even if my project is a single project, to which I need to declare a license for it, is it correct to understand that each different chapter and its code examples are independent of each other and could have each one a different open source license, without conflicts?

In general yes. In particular I could license this collection of mine under a license which is different that the (possibly many) licenses of each parts be they code or articles from various sources. That is if this collection is sufficiently original to be copyrightable in the first place. And if each part is indeed under some license allowing redistribution.

2
  • good point @Philippe. My project should be seen as a collaborative container to which people can contribute their own tutorials, code examples, docs, ecc. As far as I'm concerned, the work that I've put into the creation of this container (the HTML5/CSS3 theme, the SASS files, images, ecc.) could even be public domain. Then I want to contact various authors of tutorials available on forums, and ask them permission to include their tutorials in my project, or ask them to take active part in the project by submitting code, tutorials, ecc. Commented Jul 2, 2016 at 8:44
  • We're speaking of a small community built around a specific language, so we basically already know each other and expectations are that most people will be happy to contibute -- in most cases, it boils down to asking for an explicit permission to reproduce a code example that was published on a forum without license specifications. But still, I would like to have a clear line of conduct regarding licenses, so that each user contributing to the project feels at ease in this regard. I've had problems finding clear cut answers regarding "works of collections" like this project. Commented Jul 2, 2016 at 8:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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