Advice on Public Domain license

I’ve been through this a few times. You need to decide on the outcomes you want, and then pick the license to fit, not the other way around.

The https://choosealicense.com/ site makes finding something really easy.
See Licenses | Choose a License for a nice overview. SPDX License List | Software Package Data Exchange (SPDX) has a very comprehensive but not very practical list of
accepted & common licences.

A well known / tested licence is always a better choice. BSD 2-Clause is such an example, or MIT which both have sensible liability & warranty claims, and don’t impose many conditions on usage.

From the MIT one:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

I think this is pretty clear about liability, and it’s very well understood. The less common a license you choose, the more likely it is that organisations are unlikely to choose it. You may feel that is a desirable outcome, it’s your choice after all.

If you have a trademark (a brand/name) that you intend to actively protect legally then Apache License 2.0 | Choose a License has a trademark claim. Trademarks in most regions require active protection (you send nasty letters from your lawyer to people who abuse yours, and if necessary follow up with a court filing), and if you don’t do that, you may lose the trademark.

Finally, choosing a GPL-ish licence for BEAM applications is tricky. What is a “larger work” in the context of an OTP Application? Or is it the whole Release? IANAL but I wouldn’t use a GPL-ish component in an Elixir app, just to avoid potential problems in the future, where my project now has an overall GPL licence because a component uses it.

As an aside, personally, after 25 years of open source work, I have come to 3 conclusions:

  • use the licence that your programming language/tools are written in unless there’s some really good reason not to. This maximises your “give-back-ability” to the community, people can copy and cherry-pick freely.
  • you can’t use a legal LICENSE to force companies and people to share or collaborate. It simply doesn’t work. You can sue them after the fact, like GPL enforcement, but its slow, inefficient, and doesn’t really work in the larger scheme. Focus on building and promoting collaboration culture within your community.
  • if somebody forks my code, & makes it better, then we won anyway.

Getting really Off Topic, the battle between AWS and Elastic (or Redis which had a similar argument) is really about Venture Capitalists vs Amazon Capitalists, and to an extent, branding, as already pointed out. As Elastic Co is valued at over $10B I don’t think the founder can really complain that they haven’t had a good return on the invested hours. It has ~ $870M cash balance sheet, $700M revenues, growing at 40% each quarter, and made $500M gross profit with debt of $600M. I think we can safely say they did Just Fine with their original Apache v2 Licence strategy. If AWS keeps improving ElasticSearch, then Elastic can continue to pull their patches and ideas into Elastic, and the software improves. It might not be desirable for their company, but that’s a very different perspective.

2 Likes

As a copyright lawyer in the EU, my general information is that one does not dabble with public domain in mainland Europe. This is inter alia due to different legal traditions compared to the British isles and North America. You just don’t and for very good reasons.

4 Likes

Can you expand a little more?

2 Likes

I beg your pardon, I’m afraid it was a mistake to reply in the first place.

In my experience, these discussions can be very taxing and – unfortunately – rather hostile to lawyers. Due to exceptionally poor health I’m currently unable to engage more than this:

In short, code “licensed” as public domain (i.e. not licensed) or licensed under CC0 is rejected during due diligence since it creates legal uncertainty for companies using it in their software. Please bear in mind, creating legal uncertainty and making code undesirable can be a feature. If so, then one should go ahead. Otherwise, if possible MIT/BSD is generally the best option.

Take care all of you guys and stay safe out there.

4 Likes

*obviously, no hostility thus far, for the avoidance of doubt

1 Like

I believe most people here know better than to shoot the messenger. So IMO it’s not a concern at least in ElixirForum.

That can mean a ton of things. Normally I’d err on the cynical side of “we can’t steal the code and then turn around and sue the creator”. :003: But I’m pretty sure that was not what you were going for. You likely meant that creators can in theory sue for profit sharing and companies want nothing to do with that.

Thanks for chiming in. Your profession is very under-represented around here and your takes are HIGHLY valued. Have no doubt! :heart:


Look after yourself, please. I’m just starting the second part of the same journey myself – starting to go for a physiotherapist regularly starting next week, and will hire a dietitian soon after – and I know what you’re going through. If you want to chat, you can DM me anytime.

3 Likes

Basically yes, or rather you have no idea what can happen legally. The reason why it’s such a big thing is that you have chains of liability for infringements of intellectual property in software contracts.

When an organisation utilises a piece of software it’s keen on first having ensured that it can pass on any liability for infringements to the vendor. The vendor in turn has its vendors and will want to pass on any liability if possible.

When either large organisations ponder acquiring a license for a piece of software or say a startup is about to get bought up or invested in, teams of suits will review the licenses of the software that is used. I’ve seen teams disappointed for not being able to use a perfectly good piece of software. That’s a bit of a waste. Many times it’s just marked as a risk and not taken care of.

So public domain is when something isn’t protected at all. It can be out of scope of intellectual property laws in the first place or the protection period has lapsed. Also, different countries may have different exemptions from protection (public documents, libraries’ use etc.). But is it possible to commit something to public domain by your own actions and achieve the same effect? I’d say in most of Europe you cannot. In the Nordics you need to enter a specific contract, such as a FOSS license. Anything less will just be “no license, not allowed”. Look at the construct in the CC0 – if the jurisdiction does not recognise committing to public domain, then you grant a very wise license instead to try to achieve the same goal.

So the CC0 is “better” in that it’s more clear – but it’s not written with copyright of software in mind. In most jurisdictions, software is a particular subject matter with particular scope of protection and exemptions, still within the framework of copyright. There are plenty of FOSS licenses with better name recognition that will do the same.

Generally:

  1. a permissive open source license for the code and
  2. a Creative Commons license (not restrictive) for the documentation and other material

will get you very far.

Of course, there are advanced discussions to be had regarding reciprocity (copyleft) and if FOSS is tolerable due to competition with e.g. Amazon that may offer your software as a service.


Thank you Dimitri! :pray: I love to support the community and give back. I’ve had so much joy in weekend projects in Elixir and I’ve always found terrific support here. It is my experience that this forum is a very hospitable place and I’m a bit ashamed of momentarily being overly afraid of having awoken the flame war bear.

Glad to hear, health is everything. Will send you a message :wave:

Kind regards,
C / “Mr Defensive”

5 Likes

Hi @scoop,
thanks for chiming in.

What is your opinion on releasing to the PUBLIC DOMAIN and using a dual license, Creative Commoons Zero, AND either the MIT-0 or the Zero-Clause BSD licenses.

Thanks.

Of course :wave:

Sure, you could do CC0 for documentation and other things and MIT-0 or Zero-Clause BSD for code and be set up pretty good. The only thing is that while the software licenses are OSI approved, their name recognition isn’t great. That may be somewhat of a marketing decision.

2 Likes

Could I do both, docs and source code under both licenses + public domain?

So long as the license’s choice will not imply a limitation on picking my project under the sight of a lawyer, personally, I would not worry about marketing.

I am scarily surprised to see how very few software is released under the public domain.

I think that if you’re that keen on adopting the public domain model you should go for that whole heartedly (code and docs).

It’s poor legal advice (as per above), but I could imagine worse. Your code and obviously your wishes and preferences should be guiding (obviously).

1 Like

I have published a template of for releasing works to the Public Domain under multiple licenses.

Contributions are welcome.

1 Like