Hacker News new | ask | show | jobs
by sunflowerdeath 1574 days ago
I use it and will continue to use it because it most accurately reflects my intentions for my software. If some organization can't comply with it, it's worse for them. They should change, not me.
4 comments

> They should change, not me.

OK, they should change. Great. They won't, though, so your code won't be usable by them. If that's not a problem, then your code was never really relevant to this discussion. If that is a problem, then shoulds and woulds ain't gonna help.

The purpose of freely distributing code is not to be useful to corporations. It's to foster a spirit of sharing with the community.

If I put something up for free, it's because I want other programmers to be able to freely use it. I don't care if a big corporation with expensive lawyers likes the way the license is worded.

But if your license is stupid, then other programmers can not use it. Congratulations.

There is really no excuse for not at some point in your entire programming life, taking the time to go over these things, figure out what they end up meaning in real life, and thereafter knowing which ones actually do represent your wishes and intents. Picking one whos only property is it's so short it doesn't actually do anything hardly counts.

It doesn't really matter how big and complicated a license is any more than how big and complicated a compiled executable is or all the parts in a car. What matters is does it do the job that needs doing. All else being equal, smaller and more elegant is better as a direction or principle of course, but the reason we even have writing is to assemble work into a reusable package, so that time-consuming work like writing a book only has to be done once, and then everyone else gets to use the big complicated work many times over without having to re-create it each time.

It's an efficiency and a power amplifier to be able to pack up a bunch of complicated things into a writing and then treat the writing as a single simple thing.

You happly use gcc (or your car, or whatever) many times every day. You did the work one time to figure out that the tool you need is gcc, and after that, all you mentally think about is just "gcc" not the thousands of lines of code or the millions of machine instructions that make it up every time you use it. If I write a new "The Un-cc" that only has about 8 lines of code and is oh so refreshingly simple to understand, one would hope that you would not use it.

The point of the established and thorough licenses is exactly to do a whole lot of hard work once and let everyone else reuse it countless times.

The point of a stupid new license that pointedly and intentionally does not do any of that hard work is there is no point at all to it. It's just a stupid idea, and as such, it's probably no great loss that other people can not use code from an author who chose such a stupid license.

It's not about "some organizations being unable to comply", it's that it is poorly written and thus incompatible with the legal systems of countries. But screw everyone outside of the US I guess
But the article makes a good point: unlicensed means the opposite.

Imagine two people from a corporation having this conversation:

'Can we use this?'

'Yes, it is unlicensed'

'So we cannot, we don't license it'

'No, we can'

'But you said...'

and so on...

In the License section I write this text - "Public domain, see the LICENCE file.", and in the text of the license itself the word "unlicense" is also nowhere used.
Then I would not be able to use your code no matter my intentions no matter how well meaning you are.

In my country you cannot dedicate something to the public domain (it happens automatically 70 years after your death).

The Unlicense would most likely allow you or your heirs to come after me and sue me for copyright infringement for many decades.

If you (pretty much) only want US citizens (or naive people) to use your code that's fine. However given that you choose this license it seems like this wasn't your intention..

"You can't dedicate something to the public domain in my country" - that's the whole point of Unlicense. Yes, I can do it, in my country, in your country, in any other country, and even on Mars. And I don't need an approval of any authority to be able to do it. The problem is not that I can't do it, the problem is that countries refuse to acknowledge that fact.
How does the Unlicense most accurately reflects your intentions? The Unlicense has three different components: grants (paragraph 2), no warranty clause (paragraph 4) and the dedication to the public domain (paragraphs 1 and 3). Everything but the PD dedication is common to other PD-equivalent licenses so I believe you have two intentions:

1. You want the PD dedication whenever it works.

The dedication clause is unfortunately most problematic in that, for example, it never works in jurisdictions where copyright laws are recognized but no actual dedication to the public domain is possible. The complexity of CC0 solely exists to make it effectively PD-equivalent even in such cases.

2. You don't like "lawyer speaks" and prefer shorter licenses.

Okay, unfortunately CC0 is bulky and while legally absurd I can somehow relate to that line of thought. But does that mean the PD dedication clause should exist in the license itself? No! You can easily make a PD-like license by writing your own dedication plus very permissive and short license like zero-clause BSD. In this way your intention to the dedication remains explicit (or even stronger) and you can pick legally safer licenses. Indeed this is my preferred method for the dedication [1].

Also remember, the actual SQLite "license" [2] from which the Unlicense claims to be inspired is not the license. It is just a dedication and words of blessing. The actual license, in case the dedication doesn't work, is available for purchase elsewhere [3]. The Unlicense authors are seemingly ignorant of this fact.

[1] See https://github.com/lifthrasiir/rust-strconv/blob/master/LICE... for the example. (It eventually got into the Rust standard library, hence weird triple licensing.)

[2] https://www.sqlite.org/cgi/src/file?name=LICENSE.md&ci=trunk

[3] https://www.sqlite.org/purchase/license