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 know, I know, you don't need the karma, but you never know if you run too low. It's happened to me.
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.
Tip: He was referring to Bruce.
...if something they do appears to not be evil, that's only because we're not looking at it the right way.
Microsoft has lots of money to hire key Apache developers, if they actually plan to use the code and want good service from its developers on a 24/7 basis. So, this $100,000 contribution and the partial patent grant aren't about interoperability.
Who says Microsoft wants to use this code? From the earlier article, it sounded like they wanted to improve the code that other people use, to make it easier to use on Windows. And this way they don't have difficulties with convincing people to become @microsoft.com, or with convincing people to trust and work with people @microsoft.com.
Last year, GPL went through a major revision, with the participation of dozens of attorneys from the world's largest companies, along with academics and individuals. That caught it up with the elaboration of copyright and patent law over the past quarter century. A second version, the AGPL, has evolved to deal with the business model of Google, software as a service instead of on the user's PC. That's fortunate, as GPL is going to be even more important now.
Because writing and using good, unique software is something that has to be "dealt with". Re-implementing parts that could be useful isn't enough, non-shared software is Evil and must never be allowed to be written.
Both kinds of developers may choose the GPL: the commercial ones because they want to keep their competitors from running away with the program without sharing their own work, and the individuals because they'd rather function as equal partners in enforced sharing than as unpaid employees who give all they create as a gift to the big company.
So if you make something available for everyone, you become the "unpaid employee" of anyone who improves it? Regardless of the fact that any further improvements you make will actually create more work for them to do (unless they send their changes back upstream)?
This also has philosophical issues, manufacturers of physical products don't get to forbid aftermarket modifications (and can't even void warranties just because of aftermarket work), why should this be considered a legitimate right for manufactures of knowledge (I know it's a legal right, but that doesn't make it reasonable)?
And most important, GPL is what developers will use if they welcome Microsoft's participation in their projects, but only on the same terms as everybody else.
Because BSD/MIT/X11 have wacky rules that apply differently to different kinds of contributors.
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
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.
Not only is IIS not a cash cow, its not a revenue generator at all. Any attempt to use IIS to break standards would be seen for what it was, so any strategic value of IIS is mute.
That leaves Microsoft gulping down development costs on something that earns them zero revenue. Not smart. If they are smart they will incorporate Apache into Windows Server. That isn't evil, its exactly what Apache wants according to its license.
The big question is whether Microsoft will fork Apache. I don't believe they will. The reason is simple; if they fork they will lose the primary benefit - a community of developers doing their own work for them. No doubt they will add some cute GUI front end applications to make it look like IIS, and allow .Net to work seamlessly as it does on IIS, but what they won't do is fork core Apache.
Of course, they may not do much work on core Apache either, leaving that to the Apache team. But that isn't evil either.
Bottom line here is that I've always known Microsoft will have to come to terms with Open Source. Its painful for them, and there is no doubt huge argument about how to deal with it.
Fighting Open Source may work in the short term to slow adoption, but long term it is only delaying the inevitable. A more constructive strategy would be accepting a reduction in market share and finding a place in the market that is stable in the long term.
For example, Microsoft has no real interest in operating system kernels. Any money they spend on new kernels is a waste when there are free alternatives. The value they deliver to the market is a well known API. Applications written for Windows will run on Windows, and users need not consider what Windowing system they use, or what packages are installed.
What might be easier is using Firefox rather than IE. IE earns no cash, and Firefox is getting a better reputation. Why bother to continue development of a browser that competes with free?
Of course, that doesn't mean they will do the same with Office - as this earns them substantial revenue. But even here OpenOffice will no doubt erode their market share in the long term. I don't expect you will see MS supporting OpenOffice!
In summary, don't expect MS to be nice when it comes to their core earners, but they might cooperate when it comes to cost centers.
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.
It is racist because the idiot fails to see the underlying social mechanism
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.
This is because Java is way behind, at least Xfire/CXF/Axis2. You should be using Metro/Glassfish. They have full support for web standards including those used by WCF. You can even use Kerberos authentication from Unix to a Windows web service, which is pretty hot.
Because correlation != causation ... acknowledging to different to attributing IQ to skin colour. Let's say that IQ was instead to do with economics and that groups of humanity (of all races) have at times failed and at other times flourished... societies can be destroyed and education can fail, whereas other groups of society grouped by location, gender, race or age can grow and prosper. Don't think about it as race, think about it as how people group themselves based on their perceived identity or commonalities. Cultural Isolation has a much larger statistical affect,
If you are trying to say that black IQ is lesser then I'd put it back on you -- where's the genetic cause of this? Where's the genetic flaw that afflicts black people? It's only then that you'll have evidence, other than your pointed statistics with racist implications.
Oh, by the way, I was being serious, if a little sarcastic. Although I admire your thinking and generally clear expression, it appears that we differ on the point of licensing for open source projects. For a long time I was license agnostic. I figured people would experiment and find the right license for the right project. Instead, what I see is a camp of folks most of whom are quite religious (dogmatic) in their thinking about the topic. The BSD/MIT license people tend not to engage in the debate at all, largely because they don't perceive it as a religious issue, but rather a practical issue. The net result seems to be that Linux, after many years, remains an experimental kernel for hackers, rather than an operating system, promoted by zealots who care more about GPL purity than they do about getting things done. (I am not directing this comment at you, nor at Linus, nor at RMS, but rather at the legion followers).
Linux is already being marginalized in the market, and the reasons have nothing to do with Microsoft. Linux vendors are following, not leading. They are so busy forking distros so they can slap their logo on the desktop that they have entirely failed to make Linux usable. Honestly, I wish Linux didn't suck. It does. Religious adherence to GPL, I'm becoming convinced, is one of the reasons why it continues to suck, and will continue to suck, forever, in a niche ghetto.
If you mod me down, I shall become more powerful than you could possibly imagine.
Well, some of us have been saying for about 15 years that BSD-style licensing can be cruelly used by folks who want to be cruel, and that unfortunately the world has enough cruel folks that we're going to be hurt. So, don't tell me that it's my rules that are the problem.
And I am no fan of how IBM handled Apache either, and we also have IBM to blame for the software patent situation.
Bruce Perens.
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.
.
and to quote from your own link: "While those parked domains were a major factor in Microsoft's gains, Windows also saw solid growth in active sites, hostnames that contain content and likely to represent developed web sites."
Why stop at 2006?
Microsoft's IIS web server grows by 2 million sites, boosting market share by 0.36%, [to 35%] but Apache remains in the lead with a total of 49.1%.
June 2008 Web Server Survey
And if you Google around (you do know Google?)
Yes I know Google.
But why should I have to fact-check every post? Without so much as a starting point to begin?
If proprietary software was made extremely secure, how would anyone without the source be able to tell? Just trust someone?
Bruce Perens.