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

Forks don't get to pretend that licenses don't exist just because they don't like the placement in the source.



Correct the code is still under the license they just don't have to add it to every file if it's not there.


You don't understand my point (probably my mistake).

If the file starts with:

// <MIT header>

// Copyright evantbyrne

Then a fork should read:

// <MIT header>

// Copyright evantbyrne

// Copyright Microsoft

But if you did not add "// Copyright evantbyrne", the MIT license doesn't say that Microsoft should add it. I don't even know if it's legal for Microsoft to do it. You have to add your own copyright to the files where you own a copyright.


I understood and this is incorrect.

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

It needs to appear somewhere regardless of where exactly the license was placed in the source repository.


Right. So they should just copy this licence somewhere in a subfolder, saying "parts of this project derive from Spegel, with licence: <copy of the licence>"?

They can still do it now, and probably they should (someone can even open a PR?).


They have to say what code where is copied from the other project. It can't just be "parts", because that obscures the authorship.

You can open that PR, if you care to identify which parts were copied and label them all. Really, the people who copied the code in the first place should have done so, and really should have known better, given they work for a massive corporation that claims to love open source and has had a massive interest in copyright over the past three decades. It's not just a "mistake", it's unacceptable for a professional programmer for a corporation to take code from a FOSS project without crediting it. That's a level of incompetence bordering on malpractice for a profession that deals so heavily with copyright on a day to day basis.

edit: According to the MIT license, the notice itself just needs to accompany the code, so I was wrong about the specificity needed. Still, it does mean that any further forks would be unable to remove the license without personally identifying if all the original code was removed. It's always better to identify what code belongs to who.


> It can't just be "parts", because that obscures the authorship.

Wait. When I contribute to an open source project without signing a CLA, I keep the copyright over the lines I contributed. Still, I don't add a comment above every single line saying that it belongs to me. Nobody would accept such a contribution. Even for fairly big patches.

Are you saying that every single open source project that does not make contributors sign a CLA is doing it wrong?


Nope, I made a mistake there. It's good practice, when copying code from software with a different license, to call out what code is copied from where, but such a thing is not mandatory.


So... what would be the minimal, right thing to do here?


I'd say one of the things you have suggested. Copying the license file from spegel into a SPEGEL_LICENSE file in the repository would be sufficient. So would be actually crediting the project properly in the README with something like "portions of this code were taken from the Spegel project, under the MIT license" with a following copy of the MIT license.


Feels like opening a PR doing that would be faster than writing a blog post to complain.


You could open the PR and it would also be faster than writing all these comments here about opening a PR.

That's not the point, it is not the author's duty to do that and him pointing out Microsoft's wrongdoing is meaningful at least to me because I will be more cautious if I'm ever being approached in a similar way.


> Microsoft's wrongdoing is meaningful at least to me because I will be more cautious if I'm ever being approached in a similar way.

That's the thing: Microsoft approaching the author has nothing to do with the wrong attribution. And I am not sure if the original author here is frustrated because of the wrong attribution or just because they would have hope money and fame from the fact that Microsoft reused their code.

Because it's not like Spegel lacks visibility (given the numbers they shared in the article), the link on Peerd's README is probably not bad for Spegel, and the attention here is publicity again. Probably infinitely more than if Microsoft had done the attribution correctly.


Only the author knows about his motives.

Your point seems to be that the author should not have written the blog post and done a PR instead.

My point is that whatever the authors motives are and whether he did a PR or not, his blogpost was informative to me and has value on its own.


The MIT license does not seem to dictate the exact ___location of inclusion. Logically, I would think you would want to associate it with the specific parts of code that you are copying. In the past, I've listed licenses together in the root license file for forks, and other times when the included code was a minor part of the overall project placed forked licenses within impacted files.


There is even some sort of “de-facto” standard for this purposes: Debian COPYRIGHT files: <https://www.debian.org/doc/packaging-manuals/copyright-forma...>.

It may not be perfect for all cases (e.g. if some sort of dependency is linked but not present in the source tree it is naturally not really accounted for by Debian copyright files) but then there is always the options of either adding copyright information to every source code file (I don't like that style for redundancy but it is for sure a very clear way to do it) or to hand-craft a human-readable variant similar to the Debian approach but less formally.

In any case it seems that nothing is new aobut this and developers working with FOSS software should very well be aware of these concepts.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: