Hacker News new | ask | show | jobs
by benwilber0 417 days ago
Don't use one of the most permissive licenses in existence and certainly not one that doesn't provide copyleft. This is all very well established at this point and yet somehow the GPL seems to have gone out of vogue.
3 comments

> Don't use one of the most permissive licenses in existence

Does it matter what license you use if they actively ignore the terms in the license you did chose? MIT requires attribution, but they didn't. Why would any other terms be different? You surely could have put "You must license your project the same as the one you forked from" and they still would have ignored it, not sure what the difference would have been.

It matters because the only thing which can be claimed to have been ignored here is missing the line "Copyright (c) 2024 The Spegel Authors" in the main license file. Now that it's brought up https://github.com/Azure/peerd/issues/109 that'll probably be fixed.

What remains after full compliance with the MIT license choince will be the bulk of the complaints in the article.

> It matters because the only

So if the author instead used GPL, this wouldn't have been a problem? Call me pessimist, but I don't think Microsoft would have cared if it was MIT, GPL or even missing a license (so copyrighted by the author), they would have made the same choice as they just now did.

I'm sorry, but it's really hard to understand what you mean here, how choosing GPL would have somehow lead to a different outcome.

GPL would have helped with the concerns around the distributed software (instead of just source) not clearly including attribution/copies of the license (which would also lead to a better form of notification than the conference and webpage acknowledgement). These were also the types of points Tanenbaum famously regretted regarding MINIX https://www.cs.vu.nl/~ast/intel/ despite him not having the further regrets in the article.

I do agree for the author to be _fully_ happy they would probably have wanted something even more restrictive than any traditionally "open" license like GPL, but about any choice would have better aligned with their desires than MIT.

For the copyright part, it wouldn't have lead to a different outcome. What could have been different is that Microsoft could have had difficulties in working on a GPL fork which is harder to resell (you can, but people are sometimes afraid for good or bad reasons) and so Microsoft could have proposed to the author to sell them a copy with a different license.

But reading the article, the author appears to be more disgruntled by the fact that a behemoth forked his project than the mishandling of the copyright that can be fixed with one PR (he is right to be pissed about that, but that's an easily solvable problem, I doubt Microsoft will stand against it).

I suspect that damages may also play a role in practical resolution of infringement.

There is a large difference between "they didn't put in a sentence that they needed to," and "we have 30 users who didn't get the source code that they were required to receive."

When legal reads "GPL" they go completely crazy. Had it been GPL they'd have most likely told the developers to stay really really far away from that code.
> Does it matter what license you use if they actively ignore the terms in the license you did chose?

If they're breaking the license, go talk to a lawyer. You might start by approaching the SFLC [1] (although I haven't heard much from them recently).

[1] https://softwarefreedom.org/

Sometimes social pressure can be a cheaper approach, time will tell if it'll work in this case :)
I would suggest Software Freedom Conservancy instead:

https://sfconservancy.org/copyleft-compliance/help.html

Is there any for profit law firm which works without fee in cases like these and split the earnings? Needing to pay lawyer upfront makes it hard for individuals to sue mega corp even if they were clearly wronged.
MS has internal tools that scan dependencies etc and flag them against legal team if anything is fishy. License choice matters quite a bit, they will not risk litigation.
Guess they should start using those tools when they setup their "looks-like-acquihire-but-really-is-a-brain-dump" meetings so they could flag the FOSS projects they want to rewrite internally.
People who run the meetings are not people who run the scanners. See also: Microsoft’s org chart https://imgur.com/gallery/org-charts-uBcF28f
If you worked at a megacorp you’d know they care a whole lot about not allowing GPL code anywhere near their propertiary repos; this is usually enforced by IT security (NOT engineering) with dedicated scanners, confirmed matches are at least highest priority bugs.
Not just mega corps. Everywhere I've worked for the past 10+ years treats GPL code like leprosy. You just don't go anywhere near it for any reason. It's the first thing you look for when taking on a new external dependency.
Everywhere I've worked for the past 10+ years treats open source like a candy store to benefit from and wouldn't allow contributing code back
https://web.archive.org/web/20120620103603/http://zedshaw.co...

> Why I (A/L)GPL

> I want people to appreciate the work I’ve done and the value of what I’ve made.

> Not pass on by waving “sucker” as they drive their fancy cars.

Always choose AGPLv3 no matter what it is you're doing. If they want it, AGPLv3 gives you the leverage to negotiate a licensing deal. You sell them permission to violate it. I even emailed Stallman asking what he thought of this strategy. He thinks it's a net good.

Depends on the terms of the deal, I would want to at minimum get back any modifications they are making.
Yeah, giving massive corporations a free ride has been incredibly successful for corporations. For their users not so much.
There's a megacorp using my GPL library internally. They've even blogged about it.
> MIT requires attribution, but they didn't

I'm confused how you and others reach this conclusion. No, it doesn't.

The MIT license is one of the shortest free license that exists:

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

https://en.m.wikipedia.org/wiki/MIT_License

No where does that require attribution. It has basically one condition: perpetuate the license.

Maybe the author didn't actually use an MIT license, despite claiming to? But as far as the MIT license is concerned, as long as the other party provides the same license for the fork, that's all that's needed.

> > MIT requires attribution, but they didn't

> I'm confused how you and others reach this conclusion. No, it doesn't.

| Copyright (c) <year> <copyright holders> | | ... | | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

The copyright notice that must be preserved includes the copyright holders' names, and that is a form of attribution.

Ah okay, thank you
>You surely could have put "You must license your project the same as the one you forked from" and they still would have ignored it,

No, they would have found something else that wasn't a pain to steal.

I may be a hobbyist developer but I do have access to lawyers and I'm not afraid of using them. People get sued over the smallest matters every single day. Corporations should be no exception.
Is this really true? Whats the point of even licensing our repo then?
Well, there are other companies than Microsoft out there, most of which tend to respect FOSS licenses when they fork projects/interact with the ecosystem, at least in my experience.
A major point is communicating your intentions to people who care about them and who will respect how you wish your project to be treated.
It matters because the GPL has been upheld in US courts.
MIT doesn't need attribution. Original BSD does, but revised and most widespread BSDs do not.

GPL/AGPL would prevented this somehow, requiring proper attribution via mandatory source code release, and allowing to track project origins. This would make it harder to label it as a "a Microsoft Product from Ground Up", and prevent Sherlocking the original application to a greater degree.

As a result, this would probably forced Microsoft to develop a new one from scratch, because they're allergic to GPL, because if they have breached GPL, they would be forced to comply, since GPL is court tested already.

So, write Free Software. Not Open Source. Esp. for your personal projects.

> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Source: the MIT license.

https://choosealicense.com/licenses/mit/

Yes and they do redistribute under MIT as well, there is no foul play here
https://github.com/Azure/peerd/blob/main/LICENSE

I don't see "Copyright (c) 2024 The Spegel Authors" (the "above copyright notice" in https://github.com/spegel-org/spegel/blob/main/LICENSE) anywhere. Where do you see it?

They are essentially claiming copyright here for something they don't have the license for, no?
To be fair, Spegel changed the copyright notice in 2024. It used to say someone else. That said, Microsoft is definitely missing the notice.
Funnily enough, they did add the copyright notice now, and since I didn't permalink to the commit, this looks a bit silly :P
There's no writing in that license which I can't change the copyright after forking the code.

There's a copyright line, check. There's the permission notice, check.

The rest is just goodwill and ethics, which is not a very valuable currency in software in these days.

You can't just remove the above copyright notice and replace it with your own and claim you retained the copyright notice lol
Can you give me a couple examples how this is done? I mean, in terms of actual repositories.
No!

Once you change the copyright line, you no longer include "the above copyright notice". At that point you're violating the license.

You are also not allowed to change the copyright notice or license text in any way (you may however add to the license, which is a loophole other licenses such as GPL fix.)

Substantial is subject to (legal) debate as the Oracle vs. MS case has shown. Whole functions or large parts of files however should always be considered substantial, as the software would otherwise not work.

I'm seriously flabbergasted at how bad reading comprehension seems to be among coders.

> I'm seriously flabbergasted at how bad reading comprehension seems to be among coders.

Sorry to deflate your amazement, but I made the remark because I have never seen a permissively licensed repository which changed hands and had multiple copyright lines in the last 20 years or so.

Maybe it's not my reading comprehension (and English is not my native language to begin with), but the behaviors of other coders to begin with.

Maybe we shouldn't point fingers to others and not forget that three are pointing towards ourselves. Eh?

GPL/AGPL might have improved the attribution, but they would not have prevented anything else from happening because Microsoft is publishing the source code.
GPL doesn’t help you with them taking your idea and doing a clean room implementation.

You’d need to patent your idea to stop that.

I never claimed that?

Citing myself from my comment:

> As a result, this would probably forced Microsoft to develop a new one from scratch, because they're allergic to GPL, because if they have breached GPL, they would be forced to comply, since GPL is court tested already.

So, we seem to agree here.

And there is not only the GPL. MPL and EUPL are great, too!
> somehow the GPL seems to have gone out of vogue.

Which GPL is that? The GPL 2 and 3 are incompatible with each other, making cross contribution between different FOSS projects practically impossible. The "v2 or later" licensing model does nothing to remedy the problem. See Rob Landley's talk on this topic.