5

I'm about to start a project and make it 'open source' cause I really like it, and would fit perfectly my project spirit. The project is divided in 2 parts:

  • The main application, whose anyone could contribute with code
  • The database, built by users entry

Also, I want to release code on GitHub, so anyone can see how it's made and eventually contribute on any of the many parts it's composed, and all data in my database freely visible on my website.

The problem: My favorite open source project has been attacked in a very simple but effective way, and I fear that I could fall it the same kind of trap.

Another pretty popular application I know had make a very different but problematic issues with licensing.

Worse of all I fear that anyone (a single person or a company) could take my code and make a proprietary version of my software, or fork it and make another separate version that develop separately, making it not contributing on my project.

At the same time I want to retain maximum copyrights on project's destinations and data/code, in a way that I could make deal with partners/make a separate donators version or something like that. Summing:

I want to make code/data:

  • totally open for view
  • totally open for editing/contributing
  • free to use/free to download, in any fields

but

  • retaining copyrights on ALL code/data (= hold copyrights on my and user's contributions)
  • give me the power to monetize in some kind of way, if I want
  • avoid developing of separate project using my project's code/data.

Maybe I know it sound a kinda dictatorial, but I fear that someday I could lost power to decide the future of the app or make me battle against a derivative of my own code.

Ideas:

I could license the projects in this way:

  • Data (on my site) - Creative Commons BY-NC-ND-SA (So anyone could use it for various personal project, and make it free to view/use without having to worry about stealing of using in a commercial way, letting me monetize it in any way I like)

  • Code (on GitHub) - ? (What license respect all the premises I've done?)

I really want to make something free for all, retaining in the same way the power to lead the project in the best direction for all!

10
  • Sorry, but what you want is fundamentally opposed to the principles of Free Software/Open Source, which means it doesn't belong on this site. Jul 11, 2017 at 15:12
  • 1
    That said, it would be good to have questions about trademark attacks on FLOSS projects. Jul 11, 2017 at 15:15
  • Reading the Free Software definition doesn't seem to totally oppose the premises of "freedom to copy a program and redistribute" (You could, why don't you can?) and "the freedom to change a program" (You can, the code is there, use it). I simply want to cope against property requests / hijacking and monetizing issues (not done by me, at least). Can you please explain why is fundamentally opposed?
    – Alex DG
    Jul 11, 2017 at 15:19
  • 4
    @curiousdannii I disagree. Answering a question with "that's not FLOSS" should be a perfectly valid answer here. Shouldn't our goal be to clear up such misunderstandings, instead of perpetuating the religious wars???
    – RubberDuck
    Jul 11, 2017 at 21:56
  • 1
    I think you have an excellent premise for a question, with issues highlighting dangers that face open source projects everyday. I disagree completely that this question is off-topic - if anything, the issues that form the question are relevant if anything. Even if the proposed solutions in the question go against the spirit of open source (while accepting freedoms, there are more risks involved with everything that we must accept as well), we've already agreed that questions that ask something (even un-open source) are still on-topic: opensource.meta.stackexchange.com/a/464/69
    – Zizouz212
    Jul 16, 2017 at 4:49

1 Answer 1

11

The three freedoms you say you want to give (totally open for view, totally open for editing/contributing, free to use/free to download) are not contentious, so I'll focus on the restrictions you want to add: how to implement them, and whether or not they stop your software being considered free.

  • Retaining copyrights on ALL code/data (= hold copyrights on my and user's contributions)

    This is achieved by requiring any contributors to your codebase to complete a copyright assignment. The practice isn't unheard of; the FSF requires that contributors to GNU software assign the copyrights to the Foundation. Some people have issues with copyright assignments, so you may well find that the pool of contributors to your project is reduced; but requiring one doesn't make your software non-free.

  • Give me the power to monetize in some kind of way, if I want

    This is achieved by dual-licensing your code, which you can do as copyright holder (see above). You allow others to use your software without the obligations that traditionally attach to strongly-copylefted software in return for money. It is possible to dual-license weakly-copylefted software, but since a weak copyleft doesn't prevent commercial use without obligations there's no real incentive for anyone to buy your commercial license.

  • Avoid developing of separate project using my project's code/data

    This is the problem one. The four freedoms of free software include the freedom to study how the program works, and change it as you wish, and the freedom to distribute copies of your modified versions to others. Note that if you try to constrain those freedoms, you can't claim you are giving them; they must be unfettered for your claims to be taken seriously. So saying "everyone can contribute to my project, but only through my organisation and after assigning copyright to me" will not satisfy the definition of freedom one, and although you can certainly do it, people will not regard your software as free if you require this.

So there is no free software license that will achieve your goals. Although their licences are not felt to be good for software, the Creative Commons BY-ND license comes pretty close to doing what you want, and you might find it sufficient for your needs.

7
  • I'm glad I simply forgot to close this question eheh. You've been very clear in your explanation, and it was a lot helpful. I still didn't find some license that fit perfectly what I need, and now I think simply it doesn't exist. Someone has recommended me to hire a lawyer; honestly I find it hilarious, but if I can't find anything else I must rethink my software license/scope and/or pay really a lawyer. Thanks again for explaining me better what was wrong, have a nice day!
    – Alex DG
    Jul 13, 2017 at 20:09
  • 1
    @AlexDG thank you for your kind words. Do feel free to accept my answer; local etiquette is that's how you show you're happy with an answer, plus it puts the question to bed so it doesn't float around forever like some kind of querulous albatross.
    – MadHatter
    Jul 14, 2017 at 9:13
  • This seems to be the opposite perspective of Copyright and Contributing to an Open Source Project. In any event, the first point is talking about a Contributor License Agreement (CLA).
    – colan
    Oct 26, 2020 at 20:32
  • @colan possibly so. Could you clarify that comment?
    – MadHatter
    Oct 26, 2020 at 21:08
  • @MadHatter Here we're discussing the topic from a maintainer perspective. In the other question, it's from a contributor perspective. I just wanted to ensure that the two are cross-referenced (and also mention the type of contract that involved, but see What is the difference between a CLA and a CTA?).
    – colan
    Oct 29, 2020 at 12:52

Your Answer

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

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