Live data from Hacker News

Getting forked by Microsoft

philiplaine.com

311–320 of 1001 posts

Re: Getting forked by Microsoft

#312
I've been "on the other side," part of a big corporation forking an open-source project. In Laine's case, what I would suggest is to focus more on what Microsoft added and changed; try to understand why they did that; and see if you can get any value bringing it back into your project.

(IE, don't let your ego run away.)

Why?

In my case, I was working for an industry-leading product that required a bit of reverse-engineering into MacOS. We got stuck on a new release of MacOS, so we did a bit of digging and found an open-source project that successfully reverse-engineered what we were trying to do.

(Basically, integrating in the right-click menu in Finder required reverse engineering prior to 2014; and every version of MacOS required redoing the reverse engineering.)

It was a legal grey area to copy how the open-source project reverse engineered MacOS, so I reached out to the open-source project and tried to collaborate. We exchanged a few emails and then I found a problem...

Basically, their solution had rather large memory consumption in Finder if the user had very large folders. Our customers had very large folders. (Edit, 200,000+ files were common.) We still wanted to collaborate, so I proposed a fix that fixed the problem.

But, then "radio silence" from the original authors. We forked and complied with the license. I always hoped they never begrudged us.

(Ultimately, Apple released an API so we didn't have to reverse engineer MacOS.)

Re: Getting forked by Microsoft

#313
post #176
post #137

Earlier quoted context omitted.

Companies are never just money. There is a monumental difference between: 1. A small company which is barely profitable but is building something which aligns with your values and you see as a positive to the world. 2. A massive mega corporation whose only purpose is profit, mistreats employees, and you view as highly unethical. You shouldn’t treat those the same way. It’s perfectly ethical to offer your work for fre…

There is no such difference. A company is not a person, and can literally have its entire staff changed in short order. Or be bought. Companies have no morals. Sometimes people in companies do, but again, that person can vanish instantly. You should treat a company as a person which may receive a brain transplant at any time. Most especially, when writing contracts or having any expectation of what that company will…

This is an exceptionally ignorant viewpoint.

A business that is privately owned, is run by its founders and which represents the lion's share of its officers income and net worth can be dealt with like any other small business.

Some guy who makes bespoke firmware for industrial microcontrollers or very niche audio encoding software isn't Microsoft. You won't be able to do business with him in a useful way if you treat him like Microsoft.

Re: Getting forked by Microsoft

#314
post #174

Earlier quoted context omitted.

So they don't use Linux, bash, or GCC?

Apple doesn't ship any of these anymore.

And guess what application developers install immediately after getting their MacBooks?

The GPL licensed git.

If I'm forced to use MacOS, I'm fine installing git, GNU make or whatever I want for myself. But I don't see any downsides in Apple being unable to distribute those applications together with their OS.

Re: Getting forked by Microsoft

#315
post #19

> I default to using the MIT license as it is simple and permissive What's good about being "permissive"? I keep hearing this argument, but I still don't understand, what's the incentive for authors of one-man projects to choose anything "permissive". Do you enjoy your project getting forked, walled off and exploited for profit by someone who has never done you any good? AGPLv3 still allows forking, still allows maki…

While working for companies, many devs have had the frustrating experience of finding a library that perfectly solves their problem, only to discover that it’s GPL3 or similar and thus strictly off limits due to company policy. Especially if repeated a few times that’s enough to inspire use of permissive licenses, to help avoid that frustration for their future selves (should they change employers) as well as other f…

Still that enough isn't working for most of my customers, without an assessment from legal and IT, many times getting a commercial one is much easier.

Re: Getting forked by Microsoft

#316
Forking might be the wrong word, what happened here looks more like (somewhat obfuscated) plagiarism.

I analyzed the 2 repositories for copy/pasted lines using PMD's CPD (copy/paste detector) - using the first commit of peerd and one from spegel that was from around the same time.

There are some clear duplications, e.g. 178 lines here: https://github.com/Azure/peerd/blob/64b8928943ddd73691d0b5d8... correspond to this: https://github.com/spegel-org/spegel/blob/ed21d4da925b9a179c...

Also 44 lines here: https://github.com/spegel-org/spegel/blob/ed21d4da925b9a179c... and https://github.com/Azure/peerd/blob/64b8928943ddd73691d0b5d8... but the full files are almost identical, only a few edits that break the complete equality.

Also https://github.com/spegel-org/spegel/blob/ed21d4da925b9a179c... matches https://github.com/Azure/peerd/blob/64b8928943ddd73691d0b5d8...

I haven't looked deep enough to see how much of the differences are obfuscation and how much are meaningful changes. File names are all changed, many structs and variable names as well.

See this gist for full list of duplications: https://gist.github.com/corneliusroemer/c58cf0faf957d9001b58...

Re: Getting forked by Microsoft

#317
post #227

Earlier quoted context omitted.

Nothing is new, I have mentioned multiple times that Microsoft management undoes the great work from .NET team. Also as polyglot developer, while I happen to have my preferences in regards to technology, I am not married with any of them. Being MVP, Champion, or whatever program each megacorp happens to have, was never something I saw value in. Never make a specific technology, or company, part of your identity as pe…

I'm only pinging you because I think a couple of days (or weeks, even) ago you or someone else mentioned it is open source (?), so I was wondering what's going on.

It is licensed as such, with some gaps versus .NET Framework and VS features.

Re: Getting forked by Microsoft

#318
post #54

I initially was going to say: Failing to abide by the MIT license is copyright infringement. My advice is to contact these guys: https://softwarefreedom.org/ They likely can file a cease and desist on your behalf. However, I took a closer look at the files in question. The MIT license requires that they retain and provide copyright notices, but you never put copyright notices in your files. The only place where you a…

> but you never put copyright notices in your files. I thought having a LICENSE file in the project's root directory was sufficient. Is it not the case?

It's not required, but it's generally safer to put a notice saying who owns the copyright and what license the file is released under at the top of each file. Some licenses like MIT, the BSD licenses, Zlib, etc are short enough that you can include the full license text in the notice, and others like GPL provide sample copyright header text to include. Here's an example of this from a random file in the SDL source code: https://github.com/libsdl-org/SDL/blob/main/src/video/SDL_bl...

Obviously Microsoft is still committing copyright infringement and in the wrong here. However, if the author had copyright notices in each file and then Microsoft stripped them out or changed the copyright information, it would make it harder for them to brush it off with "oops, we forgot to commit the correct LICENSE file" like I'm sure they'll do here.

Re: Getting forked by Microsoft

#319

My personal thought is that we need a new kind of license: community open source. No corporations, just community. The problem this addresses is not that Microsoft forked this project. The problem is that when a corporation like Microsoft does this, they harm our community[0]. Open source thrives because a bunch of individuals and groups collaborate. Microsoft, is built around the concept of profit for stock owners a…

Yup. But then you also limit the usage of your software in enterprises which do not try to compete with you. There are a number of licenses which tried to solve this exact problem (cloud protection licenses / fair licenses / ...), for example Commons Clause, but community usually doesn't accept them nicely, at least I don't know of a case where they were welcomed. Not sure why, maybe because most of such projects go from FOSS to fair license instead of starting with one? Anyway, to me it looks like opensource licenses nowadays serve mostly the interests of Big Tech and not those of regular users.

Re: Getting forked by Microsoft

#320
post #3

> As a sole maintainer of an open source project, I was enthused when Microsoft reached out to set up a meeting to talk about Spegel. The meeting went well, and I felt there was going to be a path forward ripe with cooperation and hopefully a place where I could onboard new maintainers. Seems it isn't the first time Microsoft leads open source maintainers on, trying to extract information about their projects so they…

> Not sure how people fell so hard for "Microsoft Give them a (somewhat) open source IDE and they start believing you are friend of open source in general.
Post reply on HN