nikocraft's avatar

Suggest me a license for this CMS I built over last 2 years that I plan to open source

I've spent last two years building this Laravel + Vuejs powered CMS. I invested a lot of time and effort to build it. I plan to release it within the next 2-3 months.

Take a second to check a quick preview I uploaded to youtube: https://www.youtube.com/watch?v=pCjZpwH88Z0

IMAGE ALT TEXT

Backend IMAGE ALT TEXT

How it gets rendered on the frontend with the default theme IMAGE ALT TEXT

That is a very small sample of what CMS currently is capable, it has the ability to do more stuff that is not previewed in the video.

I would like to use open source license but I am kinda stuck right now on which one.

MIT is out of the question since it is too permissive and would give the right to anyone to just do what they please. I spent two years and hired another developer to help me get this far, my goal is to build a big community around it and would like contributions to come in from others in the community as well, with MIT and anyone doing what they want with it it may be hard to grow big community that can help better the software.

I was leaning towards PGLv2 but I noticed how much confusing it gets when third-party developers release themes or plugins and other people who buy their stuff choose to release it for free because they feel themes+plugins fall under GPLv2 as well. https://gschoppe.com/wordpress/plugins-and-themes-open-source/

WP itself has a very strong opinion on this here: https://wordpress.org/about/license/

So with MIT and GPLv2 out of the way, what another license could I use that is more relaxed when it comes to derivative works like plugins or themes but also protects any copyrights I've released the CMS with.

Do we have anyone visiting forums here that could give me some advice?

How does Apache license sound? How about Sun Microsystems CDDL license https://resources.whitesourcesoftware.com/blog-whitesource/top-10-common-development-and-distribution-license-cddl-questions-answered

Any other suggestions?

0 likes
13 replies
D9705996's avatar

You might find this site useful to get an easy to follow traffic light system of what you can cannot do under the terms of each licence

https://choosealicense.com/

If you look at the full list of common licences you will see that at a high level they are all pretty similar so you are probably going to need to dig into each one to find something that fits your specific use case.

Just remember that once you open source your project (and bravo for giving back to the community) the licence you choose does not prevent anyone from using your project in-appropriately, it just means you may be able to to action to stop them if they do.

If this is a real concern to you I would strongly urge taking expert advice. There are numerous companies available but won't be free.

nikocraft's avatar

Hi @d9705996 and thanks for being the first to post.

I know about https://choosealicense.com

I wanted to get the laracats and laravel communities opinion on what they personally would choose if they had the same objectives as I mentioned in my post above.

Danieloplata's avatar

@d9705996 If it was my project, I would release it with a GNU-GPL v3 license.

Remember that simply having a license doesn't prevent people from breaking your license terms, you would need to find and prove misuse and potentially incur legal costs to actually act on them.

nikocraft's avatar

@danieloplata problem with any GPLvX license is that all works that base on the software licensed with GPLvX are supposed to be also realeased as GPLvX

For example in WP community there is "grey legal area" where when you release a theme or a plugin that interacts with the CMS relased on for example GPLv2 license now you cant release a plugin under another license and that means if you want to sell it you are good to do that but if someone buys it from you and then gives it away for free you cant legaly do anything, since they are right. If you doubt what I mean just read this:

https://wordpress.org/about/license/

Specifically:

There is some legal grey area regarding what is considered a derivative work, but we feel strongly that plugins and themes are derivative work and thus inherit the GPL license. If you disagree, you might want to consider a non-GPL platform such as Serendipity (BSD license) or Habari (Apache license) instead.

And also a good read: https://gschoppe.com/wordpress/plugins-and-themes-open-source/

I want third party developers who develop themes and plugins to be able to give them under any license.

It's really hard to pick a license. If I pick MIT it's too permissive and If I pick GPLv2 it's too restrictive.

I am considering right now Apache license.

martinbean's avatar

@nikocraft I’d worry more about what’s different with your CMS and how it’ll be any better or different than WordPress, Statamic, OctoberCMS, PyroCMS et al before worrying about what licence to release it under.

nikocraft's avatar

@MARTINBEAN - @martinbean thanks for your input, I don't worry about that at all. I know that may seam wrong from your or others perspective. But if I worried too much about what is out there I would have never started on this CMS or come this far.

I try not to worry my self with competition, right now I just am trying to find a perfect license.

I got great feedback from people who have seen it in action and from strangers who have seen it just on video wanting to run it over anything else they have seen out there.

Do you have any real feedback for me or not about the thing I asked? Any experience with open source licenses?

D9705996's avatar

Looking at this post it does seem like the Apache license is a good middle ground between MIT and GPL (and gives a good comparison with MIT/GPL).

https://resources.whitesourcesoftware.com/blog-whitesource/top-10-apache-license-questions-answered

If you do choose the Apache Licence this requirement might be off putting for developers

A limitation of this license for developers is that it requires you to add prominent notifications of any changes you make to a file.

Please note this isn;t me recommending this licence over any other (Its your choice) but you I just worry to find a perfect license... There is no such thing!

nikocraft's avatar

@d9705996 why do you think this would be a big problem?

A limitation of this license for developers is that it requires you to add prominent notifications of any changes you make to a file.

Does it mean even if you add smallest of change, like change a single row you have to add that to the top of the file and register it each time you do small changes? If so then I do agree that would be too much to ask for every single small change to add notes up in the top of the file.

nikocraft's avatar

@d9705996

how do you feel about:

https://choosealicense.com/licenses/mpl-2.0/

or

https://choosealicense.com/licenses/lgpl-3.0/

Do you see any weaknesses considering that I mentioned above that I would like to avoid the situation that WP third-party community finds itself in, making stuff that they sell but can't really legally go after anyone who "pirates" their plugins/themes under the claim that all WP related stuff must be under the GPL license.

I would like third party devs to be able to put their own license on extensions/plugins and themes and also I would welcome some contributions back to CMS if they choose to do so.

D9705996's avatar

@NIKOCRAFT - My understanding of Apache is that any change from the licenced file needs documented

every licensed file changed, a notification must be added stating that changes have been made to that file.

If a NOTICE text file is included as part of the distribution of the original work, then derivative works must include a readable copy of these notices within a NOTICE text file distributed as part of the derivative works, within the source form or documentation, or within a display generated by the derivative works (wherever such third-party notices normally appear).

For gplv3 and mpl seem pretty similar (from my layman's perspective). You really need to review each licence and translate to what you are happy for you software to be used.

Again as stated by myself, martinbean and danieloplata, having a licence file wont stop other developers cloning your repository (I'm assuming your going to make available via github or similar) and using it however they want from a technical perspective. What the licence gives you is recourse if someone does something that breaches the provided licence but is not an easy thing to pursue, either from a time or financial perspective.

I would think out some scenarios, both good and bad, over how users/developers can use your software once you open source it and how you would handle them. E.g. someone clones you repo, changes some basic css and repackaged as their own. Is this ok, if not what you going to do? Sue them? What If someone finds one of your vue components useful and copies it as is into their own separate project. Is this ok.

You have already spent the 2 years developing the product you can't get the time/resource back so I would focus on making your CMS the best CMS you can, adding new features, fixing bugs and generally fostering a community around the product, which shouldnt be an issue given your feedback to date rather than the little details of which licence to use.

nikocraft's avatar

thanks @d9705996 that's good feedback on your side. You are right, perhaps I could release with custom license and not go open source at this time and if I change my mind later down the road I could open source it.

I am 100% aware of if I go open source people can soft clone it on the github, that is ok as long as they respect the licese, if they steal some code and put it in their project and their project does not take off, they would be secure, but if it takes off they could be in trouble if found out.

I would like to believe that 99% would not do dirty tricks like that, but there is always that 1% that would take the code and not give you any credit and just plug it into their project but those would certainly fail since they do not have the drive to take the project the distance or vision to make it stand out.

click's avatar

but those would certainly fail since they do not have the drive to take the project the distance or vision to make it stand out.

So why worry?

nikocraft's avatar

@CLICK - I do not worry at all, but If I say I want to open source the CMS and build a community around it and perhaps some devs want to contribute back, you expect me to release without a proper open source license? Nobody would contribute without some sort of open source license attached to it. That was my main question, it's a valid question and it can direct the future course of this CMS. If I pick the right license it could help it a lot, if I pick the wrong license it could restrict it and its potential.

I do not worry about those who would steal, but If I do choose to open source it, I wanted to hear my fellow laravel devs opinions on what they think would be a good license to pick :)

If 1% of bad actors steal the code, repackage it community would found out and if they had any reputations it would go to toilets, the internet is a small world today, professionals will not do that kind of stuff, maybe teenagers :)

Please or to participate in this conversation.