Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft is now the leading company for open source contributions on GitHub (businessinsider.com)
343 points by gjmveloso on Sept 15, 2016 | hide | past | favorite | 184 comments



How is that calculated?

I mean Microsoft only has 2561 members (https://github.com/orgs/Microsoft/people) , so it isn't how many microsoft members contribute to open source.

Is it how many contributors their open source projects have? nope, FontAwesome has maybe 100 contributors to all of it's 5 projects but it's listed as having 9000+ contributors.

From what I can gather it's mostly based on the number of people that forked one of their projects (with some padding, maybe by the number of contributors to forks of the project? I have no idea)

This doesn't seem like a metric that is more meaningful then just the number of stars a repository has.



I'm no huge fan of Microsoft but leading that list with Azure made me recall a nice experience I had with their devs.

One of their APIs was missing something I needed so I created an issue on Github. Not only did the devs respond, they thanked me profusely for the input and made the (rather significant) change in days. I don't know if it's true or not, but I felt like their only user whenever I interacted with them (their issue tracker was rather empty...)


I had a similar experience with MS employees for an issue on a third party SQL driver using it with Azure SQL... very courteous, professional, and was included on some internal email chains to keep me informed. It did take a couple days, but the effort was very nice to say the least.

It was an Azure team member that spotted the bug and worked with some of the MS SQL guys to resolve the issue.

I can't speak for the larger organization, but will say that the Azure and .Net Core teams have been incredibly open and responsive. And with a huge amount of their devdiv stuff in Github, it doesn't surprise me they'd be one of the largest corporate contributors on Github.



This is massive and as a die-hard Linux dude it fills me with great joy to see this. TypeScript, vscode, and dotnet/core are my bread and butter and I couldn't be happier.

I work in a .Net shop and witnessing everybody (slowly) move towards this middle-ground between .Net and Linux stacks is like watching history in the making.


Historically I believe F# was the first project Microsoft open sourced. I'm not sure the current incarnation of the project reflects the entire history, but the language has active community contributors, with Don Syme of MSR acting as benevolent dictator. https://github.com/Microsoft/visualfsharp/graphs/contributor...


The WiX toolset is Microsoft's first open-sourced project: https://github.com/wixtoolset


omg, it's based on "the number of unique contributors (users who pushed code, opened or commented on an issue or PR)" (from https://octoverse.github.com/#open-source).

So if I open sourced a buggy project, and someone reported a bug by opening an issue, and then 100 other people commented on that issue, my project would have 101 contributors!


I guess that other _companies_ have even less than 2561 employees on GitHub


2561 members are the ones who made Microsoft org show up on their GitHub profile. By default, GitHub does not list your orgs on your profile. And many people are simply not aware of this, because your profile page looks different to you and others. You don't realize this until you visit your profile from incognito window or something.

The actual people count in https://github.com/orgs/Microsoft/people is twice as much. (I can see the actual number because I'm in the org.)


Oh, I didn't know that.

But it's still obvious that this is not the metric that was used.


One method that comes to mind would be checking commit authors' e-mail addresses. Someone with @microsoft.com e-mail would very likely be an employee of MSFT.


I doubt that explains FonttAwesome though.


This is very good, with this I learned that it's never too late to a company change. A very slow and large company like MS took decades to make this change, but they did well. And, they do that not because they are "good guys", but because this is the strategy to make them grow on their business. They are thinking on themselves.


Um, Microsoft has also been a steady producer of academic research papers.

Just as an example: http://jeffhuang.com/best_paper_awards.html

(Scroll to the bottom, and see that MS is #1, ahead of e.g. MIT, which is #3 on the list, and far ahead of Google which is #17 on the list)


Not to mention, they employ many stalwarts of CS, like Simon Peyton Jones and Leslie Lamport.


David DeWitt, Michael Freedman, Jim Gray, Anders Hejlsberg, Butler Lampson are all Microsoft Technical Fellows


> A very slow and large company like MS took decades to make this change, but they did well.

From the outside imo it feels like it took ages for them to start this change, but actually doing it once they first started open-sourcing things seems to have been an incredibly quick switch, over just a couple of years. Has there been loads of progress on this in the background that's just only become visible now?


I suspect that most of their code was probably version controlled in Git anyway, so it wouldn't take that much effort to simply upload it to Github. What really delays stuff is probably the approval process, which for some companies can be really slow.


I'd imagine most of their code was in TFS. However I'm sure they used a tool to move things over. None of these have the full history of the project


Or worse, SourceSafe.


They started this move almost a decade ago, gradually, and just recently the accumulated effort got so relevant, that is evident even for an outsider like me, that they changed their strategy, that is why it seems now it's "visible".

"How I can notice this change of strategy?" may you ask, It's because they always said things like this, per example, that Linux was not good because something open source could never be better than a closed and proprietary system with a company protecting their code.


It's because they're bleeding engineers like crazy. Anyone with offers from Google, FB and MSFT would choose Google or FB 99/100 times


That's because Microsoft doesn't pay well and the benefits aren't as nice as goog or FB.


"doesn't pay well" - source? Remember to factor in insane California cost of living and taxes


MSFT has worse compensation progression and FB/Google Seattle locations pay more than MSFT. MSFT also doesn't have free lunch (as privileged as this sounds)


Seattle's cost of living is not exactly low either.


Taxes are the much bigger factor, but Seattle is certainly significantly cheaper. Of course, other areas are much cheaper than Seattle as well.


I also believe that this is one of the reasons. Open source is "cool" and motivating to work for.


Pity they changed and became even worse in relation to privacy with Windows 10...


AFAIK Angular is part of Google.

But a quite decent improvement from the era when the company bribed government officials to purchase bulk licences for pupils and govn't, distorting the job market. This is a less harmful Microsoft than it was 5-10-20 years ago.


> a quite decent improvement from the era when

Or the era of "Linux is a cancer"

http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_c...


Yeah, now they're just engaging in racketeering against Linux and Android using their patents.


The "Scroogled" era wasn't that long ago either. Unbelievably embarrassing.

Nor the stealing of Google's search results.

I'm not ready to bless Microsoft yet.


How long do they have to pay for their past mistakes before they've done enough to placate people?


This is not a past mistake, racketeering against Linux and Android using their patents is still ongoing today.


Long enough to earn trust.

I still don't trust Sony after the RootKit fiasco, and it might be another decade before I do. Or Sprint after the IQ agent keylogger.

There are simply too many other companies with similar products to ms, sony or sprint that have no public dishonesty on their record. I can just use someone else's product until they have been good corporate citizens long enough that I have forgotten.


Honest question, if not Sprint, then who? Verizon is the worst. So, TMobile?


Have they ever paid for their past mistakes?


Or, asserting their legal right to protect their investment in R&D that latecomers like Linux and Android simply ripped off. Just a matter of perspective, really. Is just that given open source is the dominant religion around these parts, that perspective is in the minority.


Honest question, what do you think was ripped off from Microsoft? I wouldn't think Linux or Android took much from them, really. (When I think of innovation at MS I think of developer tools, research on programming languages and distributed systems, and stuff like Photosync.)


IIRC, the only areas that have been specifically mentioned have been surrounding filesystem access and structure, which MS has done a lot with, most of it outside patent protection now though. Not sure what else, as most articles can't/won't say as part of the non-disclosed parts of these contracts.


One of their most potent patent that they're using a lot is the FAT patent.

Basically there are filesystems out there that are superior to FAT and not encumbered by patents, but device makers are forced to use FAT because of interoperability reasons.

This goes to show that the innovation argument is bullshit.


FAT is out of patent protection, I believe FAT32 is now too... exFAT is newer, but imho undeserving of an extension patent. Not sure where NTFS is, but with larger external storage, that's my preferred format these days, even using the devices with mac/linux. The BS with the commercialization of ntfs drivers on osx is kind of weird as well... I usually use the macfuse/free/oss driver.


Isn't FAT that was ripped off from CP/M?


Are they presently making any legal moves against Linux? Or just Android?


This isn't 2001.

Most Microsoft shops in my area are now at least 25% Linux these days on Azure.


What does that have to do with their racketeering?


What are they racketeering is going on now?

People confuse Steve Ballmer with present Microsoft. They don't do the patent wars anymore.


Well, to be fair, he was trying to refer to the fact that GPL is viral (turning other licenses into its own). That is a valid critique of GPL (it reduces developer freedom) and that is why it has been in steady decline compared to more liberal licenses (as a percent of FOSS licenses).


No he wasn't. He was trying to disparage and insult a perceived threat. "Cancer" is an inflammatory and negative thing to call something no matter how you spin it.

Ballmer wasn't stupid he could have been nuanced and precise if he wanted, he certainly knew the difference between a kernel and a license. He wanted to convince people to not use a given technology stack because he was invested in another. If that is not convincing enough at the time there was already a more accurate but still negative sounding phrase "The GPL is Viral", but that wasn't offensive enough and didn't attack the perceived enemy OS.


It's in decline because it's based on an absolutist philosophy, rather than being another tool in the toolbox.

And it's an invaluable tool. For the indie dev that can't hire a team of lawyers copyleft can be a powerful legal strategy as relates to their IP. It has built entire communities.


The GPL reduces developer freedom

Does it?


> The GPL reduces developer freedom. Does it?

The GPL increases the user's freedom by forcing developers to contribute back, ie limiting the developer's freedom (to close code down).

Likewise, BSD and MIT type licences increase developer freedom at the cost of end users.

You have got to keep these two roles clearly separated when thinking about licences, even though in lots of cases the actual users will be developers (but of other products).

If you do, there's nothing controversial about that statement.


> The GPL increases the user's freedom by forcing developers to contribute back, ie limiting the developer's freedom (to close code down).

That begs the question of whether or not one has the right to limit one's users' freedom to use, modify & share code. I don't think that one does.

> Likewise, BSD and MIT type licences increase developer freedom at the cost of end users.

They certainly increase developer power, but power is not freedom; might does not make right.


I'm just starting the technical consequences of the different licences.

You're not refuting anything I say, but instead debating the morality around different licence models. And that's clearly a different and subjective argument.


> limiting the developer's freedom (to close code down)

Even with a more permissive license (MIT/BSD) the developer as a user never has the freedom to close down the original source code. Integrating that code into a proprietary offering does not close down the original code base. If there was only one copy of the code, then yes, integrating into proprietary software would close down that code. The original code can be copied indefinitely.

There is certainly a tradeoff. I prefer BSD/MIT to give developers the same freedom as users to use the software as they wish. If I was going to try to make money off the miscellaneous tools I open source I would prefer one that limits unfair competition (coopt and close). At the very least one that requires improvements to the direct code base to be given back (those licenses exist without full copyleft). That said, my go-to is MIT.

I also like license clauses that prevent use in a patented product. That way, regardless of how the code is used (even proprietary) the functionality can be reverse engineered and offered as a free product. Edit: Although embrace, extend, extinguish can be very effective with protocols because of the difficulty of reverse engineering edge cases.


> Even with a more permissive license (MIT/BSD) the developer as a user

You're trying to make it complex, but this is really simple.

GPL maximises end user freedom. BSD/MIT maximises developer freedom.

By conflating the two terms ("developer as a user") you are trying to make it seem like you can have it both ways at the same time.

But obviously and rationally there's no way for that to be possible.

When you as a user of product A decides to use your freedom and take that code to create product B, you become the developer of that product.

If product A was GPL licenced, you would be forced to provide your users with the same freedom you were granted. End user freedom preserved.

If it was MIT/BSD licenced, you as a developer could make your product closed source, and as a developer be free to take away freedoms from your end users.

Both are fine options, depending on your point of view. I'm not rating one against the other.

I just don't see how understanding these simple differences can at all be difficult.


This is beautifully said. I'm printing out.


Agreed, the vast majority of what I create is ISC (similar to MIT) these days.


> The GPL increases the user's freedom

No, it doesn't. The GPL reduces the probability of the user being offered a non-Free derivative in addition to the original Free software and any Free derivatives, but does not increase the user's freedom.


Yes, it restricts you from integrating with proprietary software (and some others). Here is a breakdown of license compatibility:

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

Note that more permissive licenses (MIT/BSD) allow more freedom for the developer.


The GPL doesn't restrict integration with proprietary code. It requires any code you choose to integrate it with to be similarly licensed. That is the same choice you have every time you create code.


So, it doesn't restrict, it just requires you to choose GPL? That is a double plus good interpretation of the facts.


while gpl does spread. It also protect the owner. With a more permissive license a bigger player can steal your work, user base and make it proparitary closed source. Why do u think M chose MIT instead of GPL ?


It still has split personality, unfortunately. You can't turn such a huge company 100% around in such a short time.


that's no different from any company with more than 10K employees, one group won't necessarily be aligned to all the others... The developer and azure areas of MS have definitely been leaning in the pro-floss side of things... Windows and Office, not so much, who knows wrt XBox, they seem to flip-flop on indee support.


>But a quite decent improvement from the era when the company bribed government officials to purchase bulk licences for pupils and govn't, distorting the job market

IIRC they're still doing that. In India I think?

>This is a less harmful Microsoft than it was 5-10-20 years ago.

The key to that is Microsoft being far less powerful than it was 5-10 years ago. Where MS can throw it's weight around, it still does.

The aftermath of the DOJ case is probably as much as responsible for that as the competition which ended up marginalizing them.


> IIRC they're still doing that. In India I think?

They still do this in France and they are being sued for this. Actually this is in today's French headlines.


>>But a quite decent improvement from the era when the company bribed government officials to purchase bulk licences for pupils and govn't, distorting the job market > IIRC they're still doing that. In India I think?

I wasn't aware of this. At least the IT textbooks in my home country write about “text processor” and “spreadsheet tool” and not explicitly MS Word or Excel. The programming classes don't require MS Visual Studio project files to be submitted either.

In 2008 Hungary paid $162M for the “Clean Software Programme” for 3 years. In 2011 it became $54M for an other 3 years, in 2014 it was reduced to $2.8M. I don't hear stories any more about their legal bullying team called BSA https://en.wikipedia.org/wiki/BSA_(The_Software_Alliance) which with members of the local police they appeared time to time at business offices asking the for proof of purchase. Even they had no search warrant, they used a psychological terror with the presence of the police to threaten the businesses.

This is one of their ads from the past http://img.index.hu/cikkepek/0101/tech/bsaplakat2.jpg It says: “Don't use illegal software! _Users_ of illegal software can sentenced to 2-5 years. _Have you been inspected today?_


This is quite an improvement from the olden days when a certain Microsoft executive described the GPL as a cancer, and open source in general as a thing to avoid


> This is quite an improvement from the olden days when a certain Microsoft executive described the GPL as a cancer, and open source in general as a thing to avoid

Absolutely.

And don't take this the wrong way... I much appreciate the improvements. But there's still a very strong trend that Microsoft code contributions tend to be in MIT or similarly permissively licensed projects. They still tend to avoid the GPL where possible.

(Disclaimer: Have contributed code and patches. I don't personally don't mind permissive licenses)


The problem of these licenses is that they don't come with patents grants. Which given that this is Microsoft we are talking about, it's a big deal.

Of course, their projects does come with a patents license, in addition to the copyright license, but it's unclear to me whether this license applies to derivative works for example. I'm not a lawyer of course and I have a very limited understanding, but interpreting their license as an English text, I really don't think it applies to derivate works. Would like an analysis of somebody knowledgeable, because a project that can't be safely forked isn't open source. Here's their license: https://github.com/dotnet/corefx/blob/master/PATENTS.TXT

Anyway, my point is that I would have preferred something like the Apache License, which is still permissive, but was written by lawyers that know what they are doing and has an explicit patents grant in it. You see, people think of BSD and MIT as being "permissive", but that's only true as far as the copyright law is concerned. Patents are a whole different thing.


Yeah, but when MS used their own MIT-like license with patent grant and nuclear patent option, people hated it. They have made certain guarantees in the past wrt ASP.Net bits and other areas... MS seems to have been mostly in favor of live and let live wrt patents on their open-source software, it would be a colossal mistake for them to sue over patent use on their open-source software, short of defensively against someone suing them over patents.


GPL is a cancer. That's why people vastly prefer something more like the MIT license these days.


Yes. If you're the original copyright holder, you only give others cancer with the GPL. As the the copyright holder, you are licensing your code to others and as such, you subject yourself to whatever terms you want. But those who accept the terms of your copyleft license are bound to all the cancerous viral terms you set.

As a user, I prefer licenses like MIT that just give the code away with some reasonable strings attached. As a pip-squeak creator, I have to admit the copyleft licenses are attractive - the more viral and toxic (like AGPL), the better! I like being able to show off my clean and valuable code and have some reasonable expectation that no big corporation will rip me off. But then, universities and hobbyists will have full run of my code and that suits me fine.

Am I greedy? Am I stingy to think of my code this way? Should I be happy that anyone would see fit to use my code and thus maximize that chance by licensing with MIT? Or is no value ever generated with all the codes being completely free and open? I wrestle with this.


Ooh who? Ballmer?


If you're trying to write commercial software and make money off of it, the GPL is a cancer.

MIT or the MS-PL is much more practical.


To translate

if you are attempting to exploit other peoples code with out giving anything back to the people that created the code then GPL is a cancer

>MIT or the MS-PL is much more practical.

This depends on the project

I normally license my libraries, code I intend to be included in other software under BSD or MIT, but full developed software that is intended to be used as is gets GPL.


>if you are attempting to exploit other peoples code with out giving anything back to the people that created the code then GPL is a cancer

That's bullshit - GPL requires you to open source your derived work as well - which plenty of people have a problem with commercially - it doesn't mean you don't want to contribute anything (quoting you) back.

Even with the LGPL there are scenarios where sharing your code is not an option because of real world constraints (eg. NDAs), for example you need to modify the LGPL code to port to a closed platform. That doesn't mean you can't contribute back other improvements, but anything platform specific can't be released and therefore you can't comply with LGPL.

In general GPL creates a lot of problems to which GPL supporters just plug their ears and mantra "if you were truly free you wouldn't have those problems". Liberal licenses remove those problems and incentives to share back are there without the license requirement, you get your stuff maintained in the mainline and don't have to rebase on every update and reduce conflicts further down the development. LLVM is an excellent example of this where even traditionally closed companies OSS stuff because it's such a chore to keep up with latest. An example of a project being choked by GPL is Blender - a tool that has great potential to be a fully featured OSS 3D authoring package is struggling to fund developers because it can only sustain itself from government grants - nobody is interested in investing in it commercially because of the GPL. If it allowed for commercial plugins the OSS core would undoubtedly see significant contributions from those developers as well.


> In general GPL creates a lot of problems to which GPL supporters just plug their ears and mantra "if you were truly free you wouldn't have those problems".

I'm not plugging my ears. I recognize it, and it's terribly unfortunate that one would ever be in such a situation, but the idea there is that the GPL would encourage the liberation of other code, and other platforms. Here's an example:

  http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL
Now, you're talking about a broader issue than liberating a single program. But enough useful GPL'd software might sway larger systems.

Otherwise, if modifying free software and in doing so making your modified program proprietary means that it can't be used at all, then that is the intent.


Except the GPL doesn't just encourage open sourcing works which use the GPL work as a dependency; it makes the open sourcing of any library/program/what-have-you a MANDATORY condition for use of the GPL work. This has nothing to due with modification of the GPL work; the condition is still in effect when no modifications, proprietary or otherwise, are required in the GPL work.

I'm actually in agreement with Ballmer on this one: GPL is cancer. And I love contributing to OSS in general.


moron4hire is correct.

If you are not distributing the software personally or outside your organization, the GPL does not apply to you. If what you are doing does not constitute a derivative work, then your software is also not affected by the GPL: if you're invoking GNU grep in your program, for example, your program does not need to be licensed under a GPL-compatible license.

For clarification, see https://www.gnu.org/licenses/gpl-faq.html


I am aware of these issues. I replied in-haste in-class, and didn't specify that I was only referring to library code. I instead used 'work', which was the wrong term; I apologize. Anyway, according to the GPL, using a GPL-ed library as a dependency in a larger codebase constitutes a derivative work (assuming distribution etc), thus requiring GPL-ing the whole larger codebase, which isn't cool (imo, of course).


That is completely incorrect. The GPL makes absolutely zero restriction on use. It's provisions only pertain to distribution.

If you are only using GPL'd software, there is no compulsion to release your software under the GPL. If you, on the other hand, are releasing a product to other people and you have found a piece of GPL'd software that provides enough value to you to bother including it in your project, then and only then are you compelled to open your source.


I will give an example where the GPL hurts some projects:

I work on a OpenStack project that does DNS. We have plugable drivers for the different software out there - PowerDNS, Bind9, nsd, etc.

One of the people deploying our software wanted (or needed? - there was some weird legal / support issue) to plugin into Nominum.

Now, to even look at the API ref, or use the Nominum python lib, you need to have a support contract, and agree to not release them. If we were GPL, that user would not be able to use our project, but because we were Apache they could write an internal driver, and still have the same API as other OpenStack users.


> Now, to even look at the API ref, or use the Nominum python lib, you need to have a support contract, and agree to not release them. If we were GPL, that user would not be able to use our project, but because we were Apache they could write an internal driver, and still have the same API as other OpenStack users.

I'm not sure if by "internal" you meant that they were only using it internally. If they're not distributing outside their organization, they have no obligations under the GPL.

Otherwise, yes, the GPL does not allow for distribution under an NDA, because it adds additional restrictions.


Or maybe they would choose to work with OpenStack and discontinue their relationship with a draconian and backward company that locks their API behind a NDA


GPL was never intended for commercial use, in fact it was meant in a minor way to deter the method of business to simply acquire work and to redistribute it as their own through minor changes. Its major effect was for the sharing of code on a free and OSS code base made by the freetime of many, many developers and hobbyists.

Even if Microsoft, big business and ivy league succeed in subverting the software architecture and environment built on the GPL license, hobbyists and developers will still continue developing on it (GPL code) on their free time.

(tldr; commercialization was never a real priority for GPL licensed software. it was the continued community sharing of works through licensed protected open source.)

edit: some developers are just in it for the love of money like m$, others are just in it for love of the craft.


I had considered doing the same thing, but I think pragmatically I'm never going to be able to build a "support" business around my libraries. Hell, I'm not even really interested in that type of business. I've spent most of my career as a consultant, i.e. mostly getting treated like a cost center, so it's not a difficult stretch to see that too much focus on the code as a product unto itself will lead to the same results.

My only chance of getting out of that is probably building my own products and partnering with a group of people who are good at marketing. I think, in large part, selling copies of software is a dead end business. There are some contrary examples, but I think they probably more prove the rule. Does anyone pay for Sublime Text for any reason other than "to support the developers" (i.e. not "because I need this software")? Video games have to be released on a regular schedule. Adobe has all the image processing patents. I think in all cases, people are buying something other than a literal copy of the software. So why not just sell that other thing directly and skip the noise?

On the other hand, assuming I end up making the libraries any good, someone else with a business of supporting software and the mercenary nature of refusing to help people with problems who don't have any money to pay, could probably snipe me in my own software.

So with that in mind, libraries I write always come out under the full GPL-3.0. Nobody deserves to close their use of my code. It has turned some people off (and I think that has more to do with their misunderstanding of what the GPL is practically about than any ostensible flaws in the GPL), but they can go start their own VR framework project for all I care.


Thanks for putting words in my mouth. How many people would have used jQuery, if it was GPL? Full-on GPL taints your software, such that you have to be extremely careful not to use any libraries that are GPL'd if you want to release it under any other sort of license. Sure, you can get exemptions, but can you imagine the clusterfuck if, say, the NPM community defaulted to using GPL? Trying to trace back and make arrangements with the owners of thousands of tiny libraries would be insane.


You are taking an incredibly harsh (and coming across as almost vengeful) position on the GPL advocating a position that misses the point of the GPL.

Software that chooses a copyleft license like the GPL cares for freedom more than broad adoption of their software. I would never want you to help you create non-free software---that's antithetical to everything I stand for. Many feel that way.

You say "trace back and make arrangements with the owners of thousands"---why should you? Why would we want you to do that? Why would we have used the GPL to begin with? I would consider that to be an incredible situation! All these tiny libraries on NPM under the GPL that make it virtually impossible to develop proprietary software because of the infeasibility of working out deals with all the authors---some of which will never agree? That is freedom at its finest! That would be a huge success!

It's great that software like jQuery has had the success that it has. It shares a different philosophy. I don't call that philosophy a "cancer", even though it results in what I consider the worst possible outcome: proprietary software, and often SaaSS at that, which robs freedoms even more.

Please be respectful of others' philosophies. The GPL is the embodiment of ideals and the free software movement---it's more than a license.


I'm really not trying to shit on the GPL and free software, or pooh-pooh any philosophy. You just can't touch anything that's GPL if you build closed-source commercial software. That's kind of my job, and I have to be pragmatic and practical about it.

I'm glad Microsoft is cognizant of the fact that they have legions of partners, vendors, and independent developers that have built their businesses on top of Microsoft libraries and technologies and has chosen appropriate licensing to reflect that.


>> You just can't touch anything that's GPL if you build closed-source commercial software.

That is not true at all and this reflects basically a willful ignorance of what the GPL actually says.

>> That's kind of my job, and I have to be pragmatic and practical about it.

Then you are bad at your job, because you do not know what the GPL means in practice.

How can it be that most of the most valuable technology companies in the world--Google, Facebook, Amazon, just to name a few--are built from the core-up on open source software?


Microsoft has chosen a proper license for their audience, yes.


> Full-on GPL taints your software, such that you have to be extremely careful not to use any libraries that are GPL'd if you want to release it under any other sort of license.

Why would you want to release under any other sort of license? Why do you wish to restrict your users' right to use, modify & share code?

> can you imagine the clusterfuck if, say, the NPM community defaulted to using GPL

That sounds wonderful: an entire ecosystem of free software.


> Why do you wish to restrict your users' right to use, modify & share code?

Not everyone agrees that this is a right.


Possession is nine tenths of the law. You have no right to tell people what to do with their own computers.


>You have no right to tell people what to do with their own computers.

You seem confused. The discussion here is about copyright law and intellectual property licensing. Code is a series of 1s and 0s that can be duplicated at almost no cost. Me "possessing" it doesn't deprive anyone else of anything.


Exactly, but I'm not the one that is confused. You have no tangible property on which to seek your rent.


I have no clue what you're even talking about. Sorry, this will be my last reply.


Except, I work on GPL v2 systems, and we can't link to GPL v3 libraries. No other license I've worked with has this incompatiblity problem.


> Except, I work on GPL v2 systems, and we can't link to GPL v3 libraries.

The standard way to use GPL v2 is to use this verbiage:

    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
If someone doesn't do that, I don't know what to say.


That's the wrong direction. You can use v2 code with that sentence in the license in a v3 codebase, not vice-versa (unless you upgrade your codebase to v3 entirely, but since GPLv2 was explicitly mentioned that probably is not an option for whatever reason).


At some point in the far distant past, someone decided they didn't want to give the FSF the ability to apply any license they like to their software (which is reasonable, the FSF could in principle make GPL v4 -- All your source are belong to us).

While that choice might have been a mistake, it would now be an impossible effort to get all contributor's permission to change, so we are stuck with v2.


If you're a lone developer or small team and you're releasing your code under anything other than a strong copyleft license, you're leaving yourself open to the Joyents of the world to abscond with what you've made and build their business with nothing more than an attaboy to you. I would much rather nobody made money off of my code than somebody else while I still struggle. At least the Mozillas and Googles of the world have the decent politeness to just completely ignore your open source project, no matter how long its been out and how new they are to that particular field, to boulder through and make their own thing.


Nobody can "abscond" with what you've made. It's always yours, it's always accessible to you, and you can always make it better.

Yes, if someone else comes and extends your work and eclipses your production, they're able to decide what to do with it as they want. That's the key point of being open: Letting people do what they want with it.

If anything, I'd contest the claim that copyleft can be considered open source any more than a license that lets you look at the source but doesn't let you modify it. Copyleft controls the source and forces your views on people who want to use it.


Perhaps you could form a community of like-minded developers. Everyone pools their resources together, contributing to the pool according to his ability, and each person shares those resources according to his need. That way, nobody will be able to make money while you struggle and go without.


"If you are a software repository, proprietary license is toxic waste."

"If you write software, proprietary content is a time bomb waiting to kill everyone involved."

Does this kind of language really help anyone? Do you want to be called a toxic waste distributor? Do you like to plant bombs in peoples projects, killing them?


"Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible-just enough to cover the cost. This is a misunderstanding.

Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on."

from http://www.gnu.org/philosophy/selling.html


You can't practically charge for distribution though - your sell it to one person, and they'll upload it to an FTP archive server.


Sure---that's sharing with your friends and neighbors, and that's a fundamental freedom.

But many/most will follow the project directly. You can offer the source code to build yourself , or provide a convenient binary/installer for those who either don't want to or can't (for example).

This is especially prevalent for mobile OS's, where building is an unfamiliar task or PITA for many, even hackers.

Would I personally? No. But I respect that decision.


Your inability to figure out a competent business model that also respects the rights of users is not the user's problem. You have no right to lock someone's computer down, to prevent them from using the copy of the software that you sold them, and the only way to guarantee that is to require the source to be open.

Look, it probably won't matter anyway. Probably nobody is going to use your software.


The same is true of literally every piece of software ever distributed regardless of license.


False. Because then you can sue that person for the damages incurred by their violation of the license.


When I was a script kiddie back in the mid nineties Microsoft was this evil corporate empire that all the linux kids hated.

Now I'm in my mid 30s and I respect them a lot and would definitely work for them.

I guess we both have changed.


I'm not sure what changed about them. Do you think that dumping some code on GitHub is enough? I disagree.

"Linux kids" hated Microsoft because of their dirty tactics, exemplified for example in the "Halloween documents" [1], which shows among other things how they sponsored the SCO lawsuits against Linux. "Linux kids" also hated Microsoft for how they always tried to subvert open standards, like for example the Open Document Format (ODF). "Linux kids" also hated how Microsoft tried to push people towards DRM and Trusted Computing.

If they changed, that would mean they no longer engage in such tactics, right?

Yet Microsoft constantly engages in racketeering practices against Android phone makers and against Linux, with their huge patents portfolio, turning into genuine patent trolls. They make more money from Android than from their Windows Phone. They are also coercing computer makers to install Windows on computers, threatening with patents that allegedly cover Linux. If you can't innovate, litigate, right? And on open standards Microsoft is still engaged in subverting ODF, forcing governments that want open formats to accept OOXML as an alternative. And on Trusted Computing, well, they weren't the ones popularizing it, Apple takes the credit for that one, but they surely benefit from it now ;-)

Oh, and the often cited article by Scott Hanselman, titled "Microsoft killed my Pappy", doesn't mention these problems. Convenient, but it feels like a slap in the face.

Yet indeed, Microsoft did change. The Microsoft I know would have never tricked users in giving away their privacy by dark patterns [2]. And I can recognize they now have a wonderful PR department, otherwise this "change" nonsense wouldn't have flied without one.

[1] https://en.wikipedia.org/wiki/Halloween_documents

[2] https://www.eff.org/deeplinks/2016/08/windows-10-microsoft-b...


You should be more worried about Google and Facebook tracking your spatial and temporal data than Microsoft racking fees from Android OEMs.


I'm not sure how that's relevant to the topic at hand. Do you think I'm not ranting on Google or Facebook's behavior? If you'll look at my history, I'm doing it all the time.

But this is some sort of fallacy. Does the existence of other companies that engage in bad behavior somehow exempt Microsoft or makes them less bad?

And in case you're not up to date, Microsoft is also collecting your data and they forced that upgrade on all Windows users, in addition to behaving like patents trolls. So what's your point?


Its possible that Google, Facebook, and Microsoft are all bad actors, all at the same time. The existence of problems at one of them does not preclude criticism of the others.


Meh. Linux would never have replaced Windows on desktop computers back then or ever. Anyway, the great majority of people never cared about Microsoft's behavior towards computer makers, Linux or Open Office. That's just politics.

If I boycotted every company who played hard-ball politics, I would be living alone and naked in the woods. Your priorities are out of whack if you're railing against Microsoft but still living on the grid.

Scott Hanselman's article is a whole 20 paragraphs long, it wasn't ever supposed to be a comprehensive coverage of every action Microsoft has ever taken.

Like most people, all I ever cared about was high quality software and Microsoft has it in spades...which is why almost every business desktop system on the planet is running Windows.


Anti-trust laws and governments exist for a reason: such that "the majority of people" don't have to concern themselves with matters that affect them but for which they've got no competency.

You've just made an appeal to popularity, an obvious fallacy.

Microsoft killed BeOS and almost killed Apple through anti-competitive behavior. Whether Windows was superior, that's irrelevant to our discussion, because they engaged in anti-competitive behavior, which hurts the market and consequently the people. And this is a fact, because Microsoft is a convicted monopoly and they got lucky with the Bush administration.

> If I boycotted every company who played hard-ball politics, I would be living alone and naked in the woods.

That's odd, given that consumers exercising choice is how capitalism is supposed to work. If you boycotted every company who played dirty, that's called "voting with your wallet" and it works surprisingly well ;-)

> Scott Hanselman's article is a whole 20 paragraphs long, it wasn't ever supposed to be a comprehensive coverage of every action Microsoft has ever taken.

My point is that Scott Hanselman's article is pure PR bullshit because he never addressed any important problems.


> ...with matters that affect them...

I already said that this matter DID NOT affect them because the great majority of people would never have used Linux on their desktop to begin with. So your entire argument is invalid.

Furthermore, the anti-trust case against Microsoft surrounded Internet Explorer, not Linux.

> Microsoft killed BeOS...

Citation?

> ...and almost killed Apple...

Umm, Bill Gates saved Apple is more like it.

> If you boycotted every company who played dirty, that's called "voting with your wallet" and it works surprisingly well ;-)

Yes, but again....you're obviously not doing that because if you boycotted every company who played dirty you'd be living naked in the woods. If you just did it within the realm of technology, you'd be Richard Stallman. LOL

> My point is that Scott Hanselman's article is pure PR bullshit...

In your opinion... Of course he specifically says "I don't speak for Microsoft, I'm not a mouthpiece or a marketer. Sure, I promote the stuff I work on, because some of it is damn cool stuff. I'm a programmer with a blog who likes to speak on technology. But I am not my employer."

followed by

" I like the direction we're heading. I work here to fix stuff. Some folks complain, some tweet complaints, I'm here to fix it. If it was a lost cause, I'd quit, as I truly don't need the job that badly."

Anyway, I don't know why you care so much about that article. There are millions Microsoft fans out there that probably didn't even read it, who don't really care about your politics at all.

Enjoy your crusade though!


:)


Nothing changed about Microsoft. Back then, MS's leadership was doing things that they thought would make them the most money and now MS's leadership are doing things that they think will make them the most money. Being "for" or "against" OSS or Linux or whatever doesn't even enter into the equation.


To be frank, when you are no longer the dominant player in a market, open source looks very appealing as a method of gathering additional market share. If you are the dominant player, there is little reason to give your opponents a tactical advantage by open sourcing your software.

Very few open source companies make money and even fewer companies make significant revenue as a consequence of releasing free/open software as their core business (FB/Google, for example, only open source ancillary services or services which devalue their competitors tactical advantages).


Let's discuss Microsoft's software patents.

Any Github contributions they make are trivial in comparison.


Let's. Microsoft is the biggest spender on R&D amongst software companies and they sponsor a lot of research without clear immediate benefits. This is in stark contrast to all the other big companies who largely only sponsor projects driven by product requirements. They regularly publish research papers in the best conferences and journals. MSR is the last bastion of well-funded, blue sky industrial R&D and the closest (though still a far cry) approximation we have to the precedent set by Bell Labs and Xerox Parc.

I don't begrudge them a few patents in exchange for that.


Can you give some stats to quantify your comments?


Never praise a good thing while a bad thing exists.


yep. this times a hundred.

I keep saying that for a lot of people there's nothing they could do to change their opinion because people are so invested in them being a bad guy. It's part of a world view.


It seems to me like they are only open sourcing the products they wish more people are using, and not their actually useful products like MSOffice and the Windows OS.

Edit: to be clear, I know it is in their best interest not to open source those products, because that's where most of their money comes from. But it really looks to me like the want to flood the market with random open source stuff, so that they seem more open source friendly. But in reality they are not actually contributing anything very useful to the community.


> But in reality they are not actually contributing anything very useful to the community

Have you looked at https://github.com/Microsoft/monaco-editor

They have examples of what it can do at

https://microsoft.github.io/monaco-editor/

It literally took me a couple of days to integrate their diff viewer into my product. If you go to

http://bitbucket-server-demo.gitsense.com/plugins/servlet/gi...

and click on the last tab (077be8bd -> 966c0823) and click on any of the files in the tab, you can see the diff editor in action. I don't know how much money was spent in developing the editor, but it's FREE for use by the community.


Other people are already flooding you with counterexamples, but I'll add to the pileup:

Z3 (https://github.com/Z3Prover/z3) is the Satisfiability Modulo Theories (SMT) solver to use. It is such a quality piece of software and it's amazingly easy to find help on StackOverflow from the main developers. Z3 really is the default choice for an SMT solver these days (i.e. you only reach for other solvers when you really have to).

Roslyn (https://github.com/dotnet/roslyn) is the C# (and VB) compiler as a library. Useful for doing code analysis and code generation for a modern imperative language. Roslyn is a whole lot easier to get started with than integrating Clang/LLVM into a project, so it really lowers the barrier of entry for lightweight program analysis projects.


they are not actually contributing anything very useful to the community

'very' useful is of course subject to debate, but did you even bother to check what they have on github? F#/msbuild/vscode to name some bigger ones, then there's smaller things like ffmpeginterop etc which I was looking into just last week.


> But in reality they are not actually contributing anything very useful to the community

Uhm... .NET? Anyone?

Google doesn't open source their search engine, most larger corporations don't open source some key products that they make money from. They are in the business of making money, afterall.


.NET Core is a hugely useful OSS project, only suprassed by another of theirs called "VS Code". I use it on day to day basis.


VSCode is a great contribution and in some areas a valid alternative to Visual Studio.


Agreed - I have access to Visual Studio at work, but for some projects I've lately been using VSCode. It's super fast and has most of the features I need. Visual Studio is of course more fully featured, but I don't always need everything it has, and god it is SLOW!


And how is it different than other companies like Google?


I reached a similar conclusion regarding Microsoft, based upon my own analysis:

http://www.gh-impact.com/blog/the-most-influential-organizat...

Despite being a latecomer to GitHub, Microsoft has risen to become the 4th most influential organization on GitHub in a very short amount of time.


And I'm guessing they're even still not counting the Xamarin employees?


I've been using dotnetcore to prototype a project. I'm actually really impressed with it. Every time I build and run it on Linux I'm resurprised that the project started in Visual Studio and builds / runs on Linux. Neat stuff, now they just need to add support LDAP.

This is all coming from someone who only uses Windows for Overwatch, Office, and courses that require it.


Great - did they stop suing linux users yet?


Yes.


Unless you count android as linux.



Because Samsung isn't evil. Yeah, the cell phone manufacturers and carriers are paragons of virtue.


Any article how they stopped the lawsuits?


Leaving aside the obvious methodology issues, whenever such a huge company starts using a third party extensively I start worrying that they will buy them and lay waste to the values of the original company. At least we'll have GitLab and the like.


> whenever such a huge company starts using a third party extensively I start worrying that they will buy them and lay waste to the values of the original company.

The issue is the financial health I would be worried about. I haven't seen GitHub as anything special and it is clearly not the most Open Sourced company and their price structure has been all over the place. I am not worried about MicroSoft doing anything with Github they already have VS using git and you can use it dozens of different ways. There is nothing to be made with owning one piece of a dozen.

> At least we'll have GitLab and the like.

At least we have git.


At this stage the value of GitHub doesn't have much to do with git per se. It's about the projects' communities hosted there. That said, I don't see much of uniqueness in what GitHub provides, it just happened to be good enough and popped up at proper time.


Ballmer 2005: Let's kick open source's ass

(Many years of confusion, a realization that no company has the engineering chops to pull off such a feat, stagnant stock price, CEO change..)

Nadella 2015: Let's kiss open source's ass


Let the meaningless metrics wars begin.


Microsoft is definitely trying to change its perception among the people, from hardcore closed box to trying to be the typical silicon valley company which opensources time to time to entice engineers working for them and yeah, greater good of the community.

But, as you see if you add Angular and Google's contributions, Google leads the list by a margin. So this looks more like a PR exercise and since when did we start taking BI articles on tech seriously(no offence to any readers).


> when did we start taking BI articles on tech seriously(no offence to any readers)

None taken, BI articles are often poorly researched and written from a Wikipedia search knowledge level.


Regarding poorly research, this paragraph from the article struck me as odd:

> The data isn't perfect, since it only relies on GitHub information available publicly — lots of businesses and project teams use GitHub in a private mode to quietly share their code. But it's still a big step forward for Microsoft.

Que? The article is regarding open source, not the use of GitHub as a source control, right? So even though the statement is true, it's not really making any sense. Am I misreading this?


I have a feeling Microsoft will open source Windows soon.


Docker has 14,000+ employees?


CrunchBase [0] puts the number between 100 and 250.

[0] https://www.crunchbase.com/organization/docker#/entity


If the article did the math to add Angular + Google, it would make them the top by a long shot.


I'm pretty sure there is quite a bit of overlap between angular and Google once you combine them.

Although they need to show how the numbers are calculated.

Is it the number of contributions and not contributors?


It's a bit different when a corporation open sources their product because it brings them more business value than a corporation actually contributes to not their open source projects. Does MS do that?


Yeah Microsoft contributes to a bunch of projects. I'm sure at least in part that's to help compatibility with their systems, but it still helps those projects that are not theirs.

A good example is Docker where, IIRC, Microsoft people were the top non-docker contributor for a while.


Are there any examples where a company contributes to Open Source software, without any (direct or indirect) benefit to themselves?

What difference does it make anyway?


I think akerro is asking about the motivation for Microsoft's contributions to OSS, rather than whether they benefit from it (clearly they do).

My impression, having spoken to people from Microsoft involved in OSS, is that they are pretty much entirely driven by what will make them the most profit. Sometimes that means making software "open source" and accepting contributions from the public (free labour!), other times that means keeping their software proprietary. They don't seem to care about ethics, or software freedom. It's a shame, but Microsoft aren't the only ones with that mentality. Big businesses are, more often than not, primarily motivated by profit.


So are most for profit open source based companies. Redhat development is probably solely based on profit to.


Yes it does make a difference.

There is always some direct or indirect benefit, but it conts more when community is involved in development of OSS supported by corporation, like GSoC, where actual community is paid to work on selected projects, Clang, where Apple tried to reach consensus with GNU, BSD, Mozilla which creates a lot of fun stuff like Rust and Servo, their full MozLabs and WebOfThings, DuckDuckGo.


Let's note that the analysis was done on Google BigQuery's GitHub public dataset


Yet they are still opposed to user freedom on computers. Microsoft hasn't changed.


Companies are rarely of a single mind. I like to believe some departments within it are less prone to self-reflection and still need a bit of nudging. In Microsoft's case, I think they went user analytics crazy in recent times and see it as a path to invest resources on. And in true corporation fashion, they are being a bit too heavy-handed with it.


Probably it's only a short term statistics.



Too little; Too late;


[flagged]


Yikes. Personal attacks aren't allowed on Hacker News. We ban accounts that do this, so please don't do this. Instead, please post civilly and substantively, or not at all:

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/newswelcome.html

We detached this comment from https://news.ycombinator.com/item?id=12511770 and marked it off-topic.


GPL and Open Source are still a cancer purely from Business perspective especially on a short term perspective. This is exactly Steve Ballmer too, he is a business guy running a tech organization. He generated huge profits. Satya Nadella is a technical guy, who had seen the benefits of OSS tools, languages and platforms to know how they impact both the developer mindshare & long-term company perspective


As long as key components like the official Microsoft NTFS implementation remain closed source, I see in this open source policy as a charade.


Thats a bit like saying, as long as Google keeps their search algorithm closed source, i see it as charade.

I'm happy that those companies open source more and more code. And Microsoft released some of their key technologies like .Net as open source. Personally i give them credit for that.


Nope, I don't think so. I don't demand Microsoft to open up the Windows sources or sources for MS-Office for that matter. They make money with these products and I understand the incentive to keep them closed. Alas NTFS is a filesystem, not the kernel of the OS. If Microsoft would recognize that there are other operating systems than Windows, and that it is valid that they operate with NTFS partitions, NTFS would be open.

Oh and yes, .NET is open source by now, btw. I think it's great too. And I am far less critical of Microsoft than 7-8 years ago. But opening .NET is also a strategic descision. In essence, it remains a Microsoft platform, and if more software for linux is written with .NET, good for Microsoft. If more software for windows is developed on linux machines with .NET, good for Microsoft. If more linux devs switch to windows, because of the better .NET integration, great for Microsoft. It's a win-win situation either way.

I'd love to see a development, that might be a net-loss[0] for Microsoft but a net-win for systems interoperability or the open source community.

[0]: Opening NTFS might not even be a net-loss...


Your sentence is the epitome of good criticism: concise, valid, fundamental.


If that is considered valid, then let's also apply that broad sentence to a ton of other companies out there (Google, Apple). There's huge value to them open sourcing the things they have without giving away their core software.

The problem I see with OSS folks is that they think if a company isn't all in, they are corrupt. This polarized view doesn't work in the real world.

At some point, some of us engineers like making money, we do need a place to live and eat after all.


Good for them. I use exactly 0 lines of code from them. Seriously, who cares?


The majority of the working world.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: