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

Don’t entertain meetings without compensation from megacrop. But the project is open source. The author provided the right for them to take it in any way possible and copy it. If I’m not mistaken the MIT license allows what they did.

I’m assuming the complaint is more about Microsoft duplicity in asking for information as opposed to the forking of the code. The latter is fine - the license explicitly allows it.




You are mistaken. The license explicitly allows it subject to the terms of the license:

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

Microsoft didn't follow these terms. They copied "substantial portions of the Software" and didn't include the notice.


Which notice? None of the *.go source files I have opened in Spegel contain a notice. Microsoft cannot remove a notice that does not exist...

In my opinion, it's the Spegel author's fault: they should have added a notice in every single file!


The "notice" is the literal license file. It is illegal to strip someone else's license from their work. It doesn't matter that they replaced MIT with MIT, because they stripped the author and attribution from it.

https://github.com/Azure/peerd/blob/main/LICENSE

If you read that file you'd think that Microsoft was the copyright holder, but they very clearly aren't.


> but they very clearly aren't.

Peerd seems very different from Spegel, so Microsoft does hold quite a bit of copyright over Peerd.

Now I genuinely wonder if the main LICENSE should say "copyright Spegel and Microsoft", or if somewhere in the repo Microsoft should just have a copy of the Spegel LICENSE file?


Generally, you would want to do one of:

a) Keep any code that you've pulled in from another project in its own directory structure with a license file indicating where it came from and its licensing terms.

b) If you intend to modify the code or integrate it more tightly with your own, copy the notice into each source file that was taken and perhaps put a pre-amble along the lines of "Portions of this file were copied from XXX under the MIT license as follows:". Ideally you would make a commit with the file in its initial state as copied, and then if you ever need to determine what came from where and how it was licensed, it shouldn't be too difficult.


Generally, what I take from this discussion is that what you want to do is get as much inspiration as you want from the code, but absolutely rewrite it from scratch such that it is yours and yours only.


That would still be infringement.

Absolutely not. How would it be infringement to write your own code from scratch?

If you read someone else's code and copy it down, then you are infringing on it. There's a reason why https://en.wikipedia.org/wiki/Clean-room_design exists.

Where did I say that you copy it? I used the words "you rewrite it from scratch", not "you copy it".

That's a copy. Read the Wikipedia article I linked and it explains what people do to demonstrate they're not infringing.

Because people spend a lot of time making sure that they can prove that they did not infringe copyright does not prove anything here.

It just says that some people put a lot of effort into making sure that they could easily prove that they didn't infringe copyright.


From my own past experience working with F/OSS at Microsoft, they should at the minimum have "third party notices" file somewhere in the repo. Something like this: https://github.com/microsoft/debugpy/blob/main/src/debugpy/T...


What you're proposing, updating the license file to list the authors, is a pretty common way to do this. It does mean that the code is mixed a bit, so it would be hard to split who owns what, but this is only relevant if one of the copyright owners wants to change the license (as they can legally only do that to the code they own).


It looks like they relatively recently migrated the entire codebase from Apache to MIT. I wonder if that was in relation to pulling in code from Spegel. They updated ~every header.




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

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

Search: