4

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!

  • 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. – curiousdannii Jul 11 '17 at 15:12
  • 1
    That said, it would be good to have questions about trademark attacks on FLOSS projects. – curiousdannii Jul 11 '17 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 '17 at 15:19
  • The freedom to fork comes under the FSD freedom #3. – curiousdannii Jul 11 '17 at 15:34
  • 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 '17 at 21:56
9

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.

  • 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 '17 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 '17 at 9:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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