Hacker News new | past | comments | ask | show | jobs | submit login

I really don't get why people don't just declare their work public domain.

I hate having to dig through and grok licenses to figure out what using some random library does to the precarious legal framework of my project. Developers often engineer software dependencies badly, but we don't bother engineering legal dependencies at all, we just slap them in like new coders copy-pasting from stack overflow.

I see people saying this:

>Licenses like the GPL exist for a reason. And that reason is an attempt to maximize the amount of software that is free.

But mostly I think they are really concerned about this:

>Would it outrage you for someone else to take your code, put a pretty GUI on top, sell it, and make millions while you make nothing?

It's just another means of jealous control. We bag commercial licenses for stealing developer freedom, and then willfully use licences that deliberately obstruct people from using our work as a foundation for successful entrepreneurial efforts, because we can't handle the idea, even the /mere possibility/, that someone might be more successful with our own project then we are. We even have the nerve to pretend that we're being generous when we do this!

I think it takes guts and trust to really let your work go, but I'd like to see more of it. I also truly believe that making our works public domain will foster innovation now we have tools like github that allow living public domain works. People won't stop contributing just because you aren't forcing them, BSD is proof of that, and I'd be using way more open source libraries and doing way less Not Invented Here if I didn't have to wade through legalese to do so.




I really don't get why people don't just declare their work public domain.

Well there's one very good objective reason not to: it's not clear if you legally can in all jurisdictions. It's not clear that you can just relinquish all IP rights to something. This means that the user of the IP can't be completely sure what they are and are not allowed to do with it, and they may be less inclined to use it than they would a BSD style license where they know what they can't do.

Some public domain desgnations, like CC0, partially get around this problem by including a clause that says that if they can't relinquish all rights, then they'll relinquish as much as is legally possible. This helps, but doesn't completely get around the uncertainty.

But mostly I think they are really concerned about this

Please don't be so quick to pass judgement. First, there are plenty of people who use the GPL to maximize the amount of software that is free, for whom "jealous control" is a secondary objective or completely irrelevant.

Second, there's nothing wrong with what you label "jealous control". If someone is made uneasy by the idea of someone taking their code and "stealing" from them, but they still want to embrace their users' freedoms, and they use the GPL, more power to them.

The only way that the GPL restricts my licensees is by requiring them to not use the fruits of my labor to restrict other people's freedoms. I don't want to be involved in infringing on people's rights like that.


> I really don't get why people don't just declare their work public domain.

Because in many jurisdictions, this is not a thing that can be done. It is not in the author's power. If you want people in those jurisdictions to be able to use your software, you need to provide some sort of license even if you consider the work to be public domain.

Even in jurisdictions when it is possible to do this, it's understandable that hobbyists would still want the protections of the "Don't use my name" and "Don't sue me" parts of 3-clause BSD at the least.

As for GPL, people choose that because they have different priorities than you. For an obvious and topical example, see Richard Stallman. He believes that nonfree software is actively harmful, and therefore takes measures to avoid accidentally supporting its development. You may not agree with this viewpoint, but he is clearly sincere in holding it, and it is his right.


> It's just another means of jealous control.

That claim works both ways. If I write a GPL library that you want to use, you could accuse me of wanting to control the library and not letting you use it however you want, but I could just as easily accuse you of wanting to control your resultant application by not wanting to release it under the GPL. If you GPLed your application, there's no licencing headaches.


You could and I bet you would, because you seem like that kind of person, but I wouldn't do that to you so I wish you wouldn't do it to me. That's the jealous control part. Please stop trying to shove your license down my throat with a plunger.


>Please stop trying to shove your license down my throat with a plunger.

Are you kidding? How is he forcing you in any way to use his code ?


>If you GPLed your application, there's no licencing headaches.

There'd be way less special snowflake implementations of security protocols, login mechanisms and account systems if this wasn't the prevailing attitude in the open source community.


someone's pretending that OpenBSD not only doesn't exist, but doesn't define most of those security protocols.


> Please stop trying to shove your license down my throat with a plunger.

Ad hominems followed by a strawman. Classy.


> deliberately obstruct people from using our work as a foundation for successful entrepreneurial efforts

No, the GPL does not do this.

Obeying the requirement to share source code does not necessitate that your profits must evaporate. If your competitor picks up your (A)GPL'd source code? They too then must release their changes.

> because we can't handle the idea, even the /mere possibility/, that someone might be more successful with our own project then we are.

If by "success" you mean "rich," then no. GPL is not concerned with money, it is concerned with the user's freedom to inspect and modify the source code of the software they use.

Go ahead, get rich. Be more popular than me. But if you base your work on mine, I want to see what your software is doing in my computer, or with my information. I want to fix a bug long after you have stopped supporting your software. I want to make the software run on devices that you will never care about. I want all the value and data and time I've spent on your SaaS service to not simply evaporate when your crappy VC-funded startup gets bought and shut down by Facebook.

> People won't stop contributing just because you aren't forcing them, BSD is proof of that,

Yes, some people would still be ethical and contribute back. Many won't. Companies are notoriously sociopathic, especially companies who are legally required to maximize profit for their shareholders, especially companies whose primary goal is return on investment for the VC that funded them.

I don't trust companies to be nice. You want to avoid paying a developer to build a poor NIH mimic of my awesome work? The price is that you must give your users the source code of your changes. I don't care if you get rich in the process. But I reject the implied assertion that you're "obstructed" from doing so.


I really don't get why people don't just declare their work public domain.

It's simple to understand. If it is in the public domain, people can just strip your name from your work. I have always seen the BSD, MIT, and comparable licenses as 'this is effectively in the public domain, but please keep my name on what I wrote, and don't sue me if it causes damage'.


Giving credit as a matter of courtesy is often good behavior. However, neither the modern three-clause BSD license nor MIT require it.


> Giving credit as a matter of courtesy is often good behavior. However, neither the modern three-clause BSD license nor MIT require it.

Read the very first clause of the 3-clause BSD license, and the first condition of the MIT License.

You'll find that they both require you to retain the "above copyright notice" which usually includes a line such as "Copyright (c) <year> <name>".


That's why I specifically wrote "credit" rather than copyright notice. If you distribute modified binaries without code (as you can do with BSD/MIT), there's no copyright notice on code to see.


Then read the second term:

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.


I would be perfectly fine if everyone declare their work public domain. Free software licenses was an reaction to people who stopped putting their work in public domain and started to deliberately obstruct people from doing changes, running them, and distributing. Some people think you have to restrict those things in order to make a successful company, and until that changes, I doubt we will return to the time where everyone declared the work public domain.


>Would it outrage you for someone else to take your code, put a pretty GUI on top, sell it, and make millions while you make nothing?

If he does it with the same license as mine (i.e. GPL), then no, it wouldn't outrage me (I would even be interested in applying to his company, so he teaches me how she did it). What I care about is the freedom of the users of my software (so I want to seal it to not be proprietary, ever), not about how other developers benefit from my creation.


> I really don't get why people don't just declare their work public domain.

Firstly, people do. Secondly, those who do are uninformed. Declaring your work to be "public domain" does not actually place it in the public domain. It in fact remains copyrighted.

Passage into public domain occurs when a copyright expires.


That's actually not correct, you can willingly and deliberately forfeit your copyright.


Not in all legal jurisdictions around the world.

That's why Creative Commons has a "public domain declaration", which includes an all-permissive license for if that isn't possible.


People who declare their work to be in the public domain are doing that because of the simplicity. If you include an all-permissive license and the public domain declaration, it's no longer simple and it's not as simple as an all-permissive license only.

By the way, I completely forgot to mention another reason for avoiding a public domain declaration, and going with a license: namely, liability!

The liability disclaimers in, for instance, the BSD license are important.

In fact, I have come up with a slightly modified BSD license.

http://www.kylheku.com/cgit/txr/tree/LICENSE

My version makes it clear that retaining the license is a condition of redistribution, and that use of the software is subject to agreeing with the disclaimers.

The original BSD license lumps redistribution and use together, and only stipulates that the license not be removed.

All proprietary software EULA's I've ever seen make it clear that you accept the liability disclaimers as a condition of using the software. (E.g. by clicking on some Agree button, or opening a shrinkwrap or whatever.)

The disclaimer part of a freeware license is in fact a use license; they are not strictly redistribution licenses.

(By the way, I don't think it's a good idea to go around customizing de facto standard licenses willy nilly; I thought long and hard before making the decision to fix the BSD license for myself.)


For what it's worth, as someone who currently favours the public domain over copyright for his work, I will say that it's not especially because I think that it's simpler to choose the public domain; it's because I've tried to understand what copyright means and what public domain means and I think that public domain makes more sense and better serves my interests.

In particular, it reflects the fact that I don't think readers of my work should be obliged to follow any rules I might set (license) when they turn to the creation of derived works. They should go and do as they like and, where appropriate, acknowledge prior art (as a matter of professionalism).

I also feel that the problem of associating each "expression" with it's legal creator is a nasty problem fraught with difficulties; certainly, in this regard, you can say that I choose public domain because of its simplicity.

By the way, djb has argued in defence of the public domain here:

http://cr.yp.to/publicdomain.html

Anyway, I'm interested to read other developers views on this topic but I'm no authority and don't want to give the impression that I think it's unreasonable to choose differently. And anyway, most do! GPL, BSD and the rest seem much more popular than public domain.


Not in many countries, you can't. That's why CC0 exists.


Ah, but is waiving of all the rights that you have under the copyright umbrella the same thing as "public domain"?


> I really don't get why people don't just declare their work public domain.

Among many other reasons, because "public domain" doesn't include a disclaimer of warranty.


SQLite is in tbe public domain and it can be licensed for a one-time fee of $1000

Public domain dedication: http://www.hwaci.com/cgi-bin/license-step1

Paid License: http://www.hwaci.com/sw/sqlite/sample_license.html


> Governing Law. This Agreement shall be construed and enforced in accordance with the laws of the state of North Carolina.

Does this mean I can legally violate the license outside N.C.?


> accordance with

No, that means that the law of North Carolina apply, not whatever jurisdiction you might find convenient.

See, for example, http://www.contractstandards.com/clauses/governing-law


Two questions:

1) Why would offer a license if it's public domain? Unless the license was to offer support which I don't see it on that page.

2) Where did you get the $1000 from - it's also not on that page?


Re: 1, the following is a quote from the aforementioned licence pag (http://www.hwaci.com/cgi-bin/license-step1)

---

Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Possible reasons for obtaining a license include:

* You are using SQLite in a jurisdiction that does not recognize the public domain.

* You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain.

* You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.

* Your legal department tells you that you have to purchase a license.


Both are answered in the first link.


Doh! I only read the license.


That's a really nice solution, I like that!


> We bag commercial licenses for stealing developer freedom,

You have completely missed the point of the F in FOSS. It is not just about developer freedom but user freedom as in all users to modify (or pay to have modified for non-developers) code as they need.


>It's just another means of jealous control. We bag commercial licenses for stealing developer freedom, and then willfully use licences that deliberately obstruct people from using our work as a foundation for successful entrepreneurial efforts, because we can't handle the idea, even the /mere possibility/, that someone might be more successful with our own project then we are. We even have the nerve to pretend that we're being generous when we do this!

The GPL is not strictly about developer freedom, and it doesn't pretend to be. It's about guaranteeing user freedom.

From the GPL's Preamble:

"The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users."


> I hate having to dig through and grok licenses to figure out what using some random library does to the precarious legal framework of my project

For 99% of open source libraries, there is only one yes/no question: Does the whole thing have to be under this licence? i.e. is it a GPL licence or not? I don't think that's too hard.


>> Developers often engineer software dependencies badly, but we don't bother engineering legal dependencies at all, we just slap them in like new coders copy-pasting from stack overflow.

You sound like a legal liability waiting to happen.

Developers absolutely must take licenses into account or just don't use third party software.

It's that simple.


Your comment is focused about how terrible the GPL is for you as a developer. But the GPL was not created to make life easy for you as a developer, it was made to increase the freedoms of the end users.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: