Microsoft and Apache - What's the Angle?
A week ago, we discussed Microsoft's contribution to the Apache Foundation. Now, Bruce Perens has written an analysis "exploring the new relationship of Microsoft and the Apache project, how it works as an anti-Linux move on Microsoft's part, and what some of the Open Sourcers are going to do about having Microsoft as a rather untrustworthy partner." In particular, he notes:
"...Microsoft can still influence how things go from here on. If they have to live with open source, the Apache project is Microsoft's preferred direction. Apache doesn't use the dreaded GPL and its enforced sharing of source-code. Instead, the Apache license is practically a no-strings gift, with a weak provision against patent lawsuits as its most relevant term. Microsoft can take Apache software and embrace and enhance, providing their own versions of the project's software with engineered incompatibility and no available source, just as they forced incompatibility into the Web by installing IE with every Windows upgrade."
Apache.NET?
So a week later, and the best sinister motive they can come up with is Microsoft doing something they could've done without contributing to the project..
*breathe a sigh of relief*
I'm not sure why this would be said to be an anti-Linux move. I realize that this might be what people sense with regards to the contribution, but like the article said the "Apache license is practically a no-strings gift". With Microsoft's new talk of becoming pro open source, this might become like Apple's contributions to BSD. You don't here anything bad about Apple with their use of BSD, but at every chance possible commenters are willing to frame MS in a bit light.
I just wanted to point out that this type of news should be addressed as unbiased as possible, as Slashdot isn't exactly respected as a home of unbiased views or anything.
Trying to appear relevant?
I got news for you, but Microsoft is extremely relevant. Their relevance is what gives them the power to single-handedly break standards and have it supported by, not some, but the majority of web sites.
So let me see if I have this right.
1: If they activelly avoid compatibility with open source, they're being evil.
2: If they just ignore it, they're being evil.
3: If they try to co-operate with any open source project, they're being evil.
What, to be blunt, the fuck is going on?
Ok, I'm not claiming closed source vendors are great or anything, but to my mind, this smacks of closed minded zealotry, and as we know, courtesy of the worlds religions, that generally doesn't work out well in the long term.
Is the open source movements plan to vilify any and all attempts of the 'establishment' to work with us? Is that the plan?
I freely acknowledge that Microsoft don't really have much in the way of compatible philosophy, but if all we do is bitch, all we'll get is negative publicity and bad feeling from people who, shock, horror, are actually entitled to think that open source isn't the source of all that is good in the world.
I'm an open source developer myself, but obviously not a 'proper' one, because all I care about is sharing my code.
Microsoft can take Apache software and embrace and enhance, providing their own versions of the project's software with engineered incompatibility and no available source, just as they forced incompatibility into the Web by installing IE with every Windows upgrade.
Right on, that's cool. That's the purpose of the ASL. It is written such that commercial entities can extend it in unanticipated directions. That's what makes it different from GPL-like licenses, and it is totally OK. Some people (like myself) prefer to release under GPL-style licenses because we want to prevent commercial proprietary extension, and that's OK too.
Also, Bruce's commentary is fine. He's using an active case-in-point to demonstrate a behavior that some may view as a downside associated with using a liberal license, and which will help new joiners to the Open Source community to make their personal choice.
Or, in short, there's no need for yet another GPL versus BSD flamewar. We can all do what we like with our code, and that's good.
Stop-Prism.org: Opt Out of Surveillance
They're trying to take the oxygen from Linux and you're breathing a sigh of relief. But suddenly you gasp. No oxygen! The room is spinning. It's getting dark...
Bruce Perens.
They're trying to take the oxygen from Linux by becoming the dominant server for Open Source applications. But if you're an Open Source developer, helping them displace an Open Source platform isn't such a great idea, is it?
Bruce Perens.
This will definitely not happen, and here is why.
1. Microsoft has invested far too much time and far too many dollars into making Internet Information Services (IIS) what it is today.
2. Independent Software Vendors (ISVs) have invested far too much time and far too many dollars into making modules for IIS. Several ISVs have built their entire business around providing these modules for cost.
3. Many of Microsoft's own products, such as Exchange Server 2007, Office SharePoint Server 2007, Office Project Server 2007, and more, have been built around the IIS architecture. Changing to a different back-end server architecture would cost Microsoft financially.
4. Usage of IIS has been increasing dramatically since March 2006. Usage of the Apache HTTP Server has declined significantly beginning in that same month. Netcraft provides these statistics here: http://news.netcraft.com/archives/2008/06/22/june_2008_web_server_survey.html
Let's take an extreme example. The Java Model Railroad Interface developer used the Artistic license. A toy train throttle manufacturer called KAM used his software in their product, and sent him a bill for about twice his annual income because KAM claims a broad patent on any two computers communicating to control a toy train. The JMRI developer got pretty cruelly used in this case.
It's not anyone who improves it who is a problem. But some folks, like KAM in this example, are really unsavory exploiters of the Open Source developer. Strong licensing (which doesn't mean the Artistic license, as the JMRI guy found out) is a good way to fight them.
Bruce Perens.
It does have its limitations. It's more of a share and share alike license than a path to public domain software.
If I, as an open source author, want to give my code back to the community, with no strings attached, public domain is the only way to go. That way, anyone can use the code for any purpose they see fit. It is truly a gift.
But GPL'ed code is not a gift, it is a license. It seeks to enforce - through copyright law - the notion of free software. That is, you can't take my free program and add in proprietary changes, and add restrictions to the use of the code.
It's a good license. It does bring balance to the big picture.
But it doesn't address one of the fundamental problems of open source: it's difficult to make a living writing open source code. Sure, you can make a living supporting open source code, but it is very difficult for the average programmer to make a living on what open source pays (usually nothing).
Without the proprietary model, I would have to make a living doing something other than writing code. Which would mean, that because I would truly be an amateur programmer, my code would not be as good as it would otherwise. I'm able to make a meaningful contribution to open source code in part because I write code for a living.
The consequence of being employed to write code is that I can't contribute code which would interfere with my employer's business interests. So while I'm able to use my general programming skills to benefit open source, I cannot produce open-source software in my area of expertise. Which, to me, is a real problem. But the GPL doesn't solve the ethical dilemna of an employee undermining his employer's business model. A large portion of us rely on the revenues generated by the pay-per-license proprietary model; without it, our customers would have to pay inordinately large sums of money up front for software, and we couldn't introduce new and innovative features because the budget wouldn't support it.
I am a good programmer, and I do produce something of value when I write code. I have no problem with people sharing the code that I write, but we as a society need to understand that programmers need to be paid for their work. That is, if we are to have any reasonable expectation of software quality. Without the experience that comes from writing code professionally, the quality of software would be absolutely abysmal.
And open source does have the proprietary model to thank for its quality - typically, the code written for open source projects is written the way a programmer knows it should be written, rather than taking shortcuts because of scheduling and marketing issues.
I like open source, but I realize that I, and other programmers, need to be able to make a living writing code if we're going to contribute meaningful software to the world. Unfortunately, the GPL doesn't address this problem in an economically viable way. Even Stallman admits that in a free software world, programmers wouldn't make nothing, they'd simply make less. Problem is, I have a family to feed, and don't have the option of making any less money; if the whole world went open source, I'd have to go into management just to feed my family. I don't think it's very ethical to ask my children to starve so you can have your software free of charge.
The GPL is good, and needed, but there needs to be a balance. I can contribute to free software because my employer's proprietary model allows me to make a living writing code.
The society for a thought-free internet welcomes you.
So if you make something available for everyone, you become the "unpaid employee" of anyone who improves it?
Let's take an extreme example. The Java Model Railroad Interface developer used the Artistic license. A toy train throttle manufacturer called KAM used his software in their product, and sent him a bill for about twice his annual income because KAM claims a broad patent on any two computers communicating to control a toy train. The JMRI developer got pretty cruelly used in this case.
It's not anyone who improves it who is a problem. But some folks, like KAM in this example, are really unsavory exploiters of the Open Source developer. Strong licensing (which doesn't mean the Artistic license, as the JMRI guy found out) is a good way to fight them.
It sounds to me like the real issue there has nothing to do with the license or with doing other people's work for them, and everything to do with stupidly bad patents.
Stupidly bad software patents are there in the U.S. because of our friend IBM, who brought the lawsuit against the government forcing them to allow software to be patented in the 80's.
Subsequent legislation to increase this trend worldwide has been pushed by Microsoft. I've been there to see this first-hand in discussions with European regulators.
Even without the patent problem, there would be significant problems associated with their monopolistic behavior. Much of their rise was achieved without use of software patent aggression.
Bruce
Bruce Perens.
Apache, in a way, is Microsoft's kind of software. It has lots of cruft, features that have been added over time and don't interact well. So it's hard to clone or replace. Lots of things plug into it using its API, so it has slave projects. That's the kind of lock-in Microsoft likes.
(Technically, all an Apache-type web server really needs to do is support serving of plain pages, and FCGI. With that, you can do anything, because there's an efficient way to pass off work to other programs. Interprocess communication is a good thing. But that's not the way Apache grew.)
In that case, what, exactly, would change with this scenario?
The contribution to the Apache Foundation would have the same PR effect, so that wouldn't have been affected at all.
The ability to embrace-and-extend would be slightly differentiated, but not all that much. Microsoft would integrate some new System Libraries into Windows Server, and any Microsoft-only extensions of Apache would be made dependent on them. The calls to the Windows System Libraries would be GPL, but the code in the libraries would remain closed, and adding their features to the GPL version of Apache would require a WINE- or Mono-like project.
And, um. What else is there? Well, Microsoft would logically be contradicting its GPL statements, but Interix/Services for Windows/SUA/whatever it is this week already did so.
Well, last time I saw this happening they are using Novell to do just what you said.
You should be considering what the software is supposed to do to you besides what it's doing for you. For example, there's some high-quality software out there that has been designed to lock you in, such that you will find it difficult to port your applications to something else, and you'll never do so because of the expense.
Undocumented things in the protocols is the modus opperandi of Embrace and Enhance. I agree that they've had to let go of a lot, mostly because of anti-trust prosecution. I don't trust them to give up the habit once the prosecutors are looking elsewhere. I see the Open Source involvement as a tool to get the prosecutors to look elsewhere.
Microsoft playing with strict rules would mean something. Microsoft playing with no rules means nothing.
Bruce Perens.
So, you'll hire that teacher caught molesting their students because they say they want to help children? Microsoft has a long and sordid history of setealing intellectual property, claiming the success of open source projects they invest in and yet violating the published API's to lock out the software of the open source authors or public API publishers. This happened with Java, Kerberos, SPF, etc.
There is no reason to think they've changed policy.
What? Are you dressed up as old king troll? People and especially companies take if they can get away with it. BSD lets Microsoft (and who ever else) get away with taking code, the GPL does not. You have to catch up before you can overtake and finally the Open Source community is positioned to overtake. You wanna play then you have to pay by code, that's not socialist that's leveling the playing field. It's those provisions that make companies like IBM take the GPL seriously and construct legal guidelines and codes of conduct to inter-operate properly.
People don't talk about FreeBSD they talk about Linux, it's called brand awareness. Tell a windows zealot they use a BSD license and they'd go "a what?", they don't think of BSD as Open Source. But they know what Linux is and respect it, even if they don't like it, because they perceive the GPL as a threat to the Microsoft hegemony.
That's not a criticism of BSD projects, there are great projects under BSD licenses and people put things under those licenses for their own reasons. The difference is the GPL promotes a new type of business model to function. Who cares if there is a forked project, that's a strength that allows business adaptations to flourish or die without ramifications.
Even if I partially agree with you about the purist GPL approach I can't get over the "free, as in you work for free" part of the BSD license, why would Microsoft write compression libraries if they can get them for free or fix the flaws and return them to the community. I don't know about the Apache license, but I do know for certain that Microsoft has *never* done anything unless it is to *their* advantage, they don't give a fork about OSS except how they can use it to benefit themselves.
My ism, it's full of beliefs.
If proprietary software was made extremely secure, how would anyone without the source be able to tell? Just trust someone?
Bruce Perens.