On mySimon: Classic V-Neck Cardigans for Fall
BNET Business Network:
BNET
TechRepublic
ZDNet

By John Carroll
Posted on ZDNet News: Mar 1, 2005 12:00:00 PM

Commentary--I spent the day in IKEA today. That's not because I've decided to turn over a new leaf and take up interior decorating. I just moved to Los Angeles, and I have a big apartment with nothing in it.

Now, those who know anything about me are probably asking "what in the hell are you talking about? Didn't you just move back from EUROPE!" Well, yes, I did, and Santa Fe was very nice, thank you very much, until people started threatening to shoot me (okay, mild exaggeration). But that's not the real reason I moved. I moved to Los Angeles because...I'm a rolling stone, I gather no moss, which means I don't photosynthesize very well and...this isn't really my life, but the afterlife, and I was a very bad boy, so I must spend eternity moving from one place to the next like Sisyphus on speed.

But I digress from my previous digression, so let’s get back to that. I figured that I'd spend a few hours in IKEA to fill the aforementioned empty apartment with things that make it seem livable. Frankly, I'd have an easier time escaping King Minos' labyrinth. Elevators mysteriously won't go down (where the exit is), and half the time, they are locked. You aren't meant to leave an IKEA with any money left, which might explain why I somehow managed to drop 800 quid on...stuff. God, I'm amazed at some of the stuff I bought. I have six new pint glasses. Why? Because they cost $1.99 for three, and three pint glasses simply Makes No Sense! Dante should add a new, blue-painted level of hell.

I do have a point, though, something which occasionally strikes from a blue sky and leaves me sprawling on the ground wondering what my name is. Lots of people were instinctively opposed to Microsoft’s proposed release of SQL Server source code. I think their fears are overblown. This article explains why I think that's so.

What Microsoft is considering
According to a recent ZDNet Article, Microsoft is considering making SQL Server source code available to customers under its shared source program. I emphasize "considering," as Microsoft hasn't committed to doing anything yet.

The shared source program is Microsoft's catch-all for making source code available to selected products. Terms, however, vary, depending on which product's source code you are trying to access. In the case of Windows, the crown jewel of Microsoft's product line, you have to be a fairly large or important customer.

Corporations with 1,500 active Windows seats, a government, a researcher at an approved organization (such as a school) or an OEM are eligible, meaning many users (including myself) won’t have a chance in hell of seeing it. In the case of Windows CE, however, the terms are much more open, even to the extent that companies can sell derivatives works.

That's a pretty broad range of licensing terms, and probably represent the outer bounds of what Microsoft will consider for SQL Server. Microsoft could decide to set the terms as restrictive as those which exist for Windows, but I doubt it, given that SQL Server isn't nearly as sensitive a product for Microsoft as Windows. I also don't think they will be as open as they are with Windows CE, given that consistency is far more important in a database environment than in embedded systems. In other words, I'm guessing the final terms, should Microsoft decide to release SQL Server source code, will likely fall somewhere between these two extremes.

The differences
Microsoft’s shared source efforts are either similar to other open source products, or completely different, depending on the product. If we are talking about desktop and server Windows, then differences are glaring. With Linux or the Apache web server, everyone gets access to the source code, whether you’re a large organization or a hobbyist at home. Anyone can make derivative works and distribute it. Anyone can compile the code and sell binaries, as multiple vendors of Linux have already done.

If we are talking about Windows CE, however, the similarities are striking. Everyone has access to Windows CE source code, and anyone can make derivative works and distribute them. In fact, the Windows CE approach bears strong resemblance to code licensed under a BSD license. You can make derivative works of Free-BSD that you keep secret, and sell the result for a profit. Ditto with Apache.

With Windows CE, though, derivative works bear a fee responsibility to Microsoft for every copy sold, something which doesn’t apply to FreeBSD or Apache, the base for which is free as in cost. Other differences emerge if you compare Windows CE licensing terms to the GPL terms under which Linux is licensed. GPL licenses require derivates to be licensed under the GPL, which means that all source code must be released to all derivative works. In other words, derivative works CANNOT keep their changes secret, something which wouldn’t appeal to companies hoping to derive revenue from sale of software as such.

Microsoft’s shared source efforts aren’t automatically a different planet from the rest of the open source world. Fees are often involved, but as the Windows CE example shows, Microsoft can offer access to source code on terms comparable to other open source licenses.

What I'm hoping to see
I’d like everyone with a valid license to SQL Server to get access to SQL Server source code. Perhaps that's self serving, but I'm not 1,500 people (though my friends under the pillow say I am), and I want to see the SQL Server code, anyway.

Why would I find that useful? It's NOT because I want to make a derivative variant of SQL Server. I could care less about database development, not because there isn't anything interesting in it, but because I have 80,000 other programming responsibilities which take precedence over worrying about the proper way to write a database. Division of Labor is a good thing, and I've made the decision that my time is not best spent worrying about writing a database.

Rather, I want to debug my own code with access to SQL Server source code. That's extremely useful. If something unexpected happens, whether catastrophic or just weird, I can dive into the code to figure out what instructions were executed. This is better than trying to untangle assembly language, which is God's way of saying you have no life.

Access to source code also makes things more predictable. When I make a call into SQL Server, I’ll know EXACTLY how it will handle the data I'm passing because I can see how it is being handled.

Again, none of those things require that I have the ability to make derivative works. 99.99999% of the programmers in this world do not need to make a derivative version of SQL Server, and many among that last 0.00001% probably shouldn't, anyway. To put it simply, programmers who don’t work for database companies and mess around with the inner workings of a database are like auto mechanics that waste time trying to fix wonky plumbing. Their time is better spent concentrating on the things they do best rather than obsessing over areas they are not experts.

Consuming Red Herrings
Some characterize the proposed release of SQL Server source code as Microsoft placing the burden for finding bugs in their system on others, while keeping the benefits for themselves.

Imagine I owned a beach. Beaches are big. I try to comb the beach for pieces of glass and other nastiness which might make life unpleasant for visitors, but god knows I'm human, and it's a big beach. So, I ask visitors to tell me if they find anything unpleasant. They’re all over the beach, and a thousand pairs of eyes are better than one pair. This enables me to fix the problem by knocking them out with a club (no, no, removing the offending item).

The analogy isn't perfect, as fixing bugs in software is MUCH harder than picking up bits of glass on a beach. Bug fixes have to be stress tested as well as tested for compatibility with the thousands of other pieces of software which might use it. The analogy is apt, however, in that it reveals the information power of millions of disparate users. Microsoft isn’t asking anyone to pull that abandoned land mine out of the sand. They are just making it easier for their customers to identify it when they see it.

That's a win-win situation. Customers, who are the most likely people to find bugs as they are the real world to Microsoft's laboratory, can find errors in a manner that makes it easy for Microsoft to fix them. In return, they then get a more bulletproof product in shorter timeframes, absolved of the responsibility of doing all the things it takes to make a real bug fix. That’s an improved version of the division of labor contract businesses make when they buy proprietary software.

Parting Thoughts
People are instinctively uncharitable when Microsoft does anything, even if that something is right. As a certain Carl Rapson noted in a recent ZDNet Talkback post,

The 'true religion' states that everything (EVERYTHING!) Microsoft does is bad and everything anyone else does (even if it's the same thing Microsoft did) is good.

Come on, people. Even if you are one of those individuals who believes that anything less than a GPL license is tantamount to armed robbery, Microsoft efforts to release more source code is clearly a step in the right direction. Granted, they are steps made by a proprietary software company, but surely you didn’t expect them to be the same steps the Free Software Foundation might have made?

I'm hoping Microsoft opts to move towards something approaching the Windows CE licensing model. Even if they don't, though, Microsoft deciding to release ANY source code is good for developers and a product millions rely on for their business.

SponsoredWhite Papers, Webcasts, and Downloads

  • Talkback
  • Most Recent of 88 Talkback(s)
It's how they can keep the digital divide
and block at the code level. (Read the rest)
Posted by: FilledOut Posted on: 03/03/05 You are currently: a Guest | | Terms of Use
Don't care too much about SQL Server, ...  Judas I. | 02/28/05
They can stick their SQL code where the sun don't shine.  DonnieBoy | 02/28/05
Somebody  FilledOut | 03/01/05
That somebody is also me. Peace.  systemcleaner | 03/01/05
Who cares?  No_Ax_to_Grind | 03/01/05
The Chinese might want to check if for back doors.  DonnieBoy | 03/01/05
And they'd recognize the code for back doors...  Anton Philidor | 03/01/05
It's how they can keep the digital divide  FilledOut | 03/03/05
Debugging  htotten | 02/28/05
Edit & Continue  seosamh_z | 03/01/05
Shared Source != Open Source  John Le'Brecage | 02/28/05
1 question and 1 correction  NonZealot | 02/28/05
Par course I suppose.  John Le'Brecage | 02/28/05
Tsk tsk  NonZealot | 03/01/05
He does have a point about "deficient"  Anton Philidor | 03/01/05
Good thought there Anton  John Le'Brecage | 03/01/05
What???!!!  NonZealot | 03/01/05
Choice among synonyms  Anton Philidor | 03/02/05
To complete...  John Le'Brecage | 03/02/05
Errk... On correction of my own. (penultimate bad)  John Le'Brecage | 02/28/05
A few reality checks here  TrollSlayer | 03/01/05
When?  rapson | 03/01/05
Clarify? Please?  John Le'Brecage | 03/01/05
More semantic hair-splitting  John CarrollZDNet Moderator | 03/01/05
Clarification is not hair splitting  Robert Crocker | 03/01/05
Did you read this *before* you had your lunch today, John ;-)?  Zogg | 03/01/05
Precisely the reason...  John CarrollZDNet Moderator | 03/01/05
I can't agree  NonZealot | 03/01/05
Re:  John CarrollZDNet Moderator | 03/01/05
Uphill battle John C.  John Le'Brecage | 03/01/05
You write...  John CarrollZDNet Moderator | 03/01/05
You can't be arbitrary  Robert Crocker | 03/01/05
neither can you  Dave F_z | 03/01/05
shared source or Shared Source?  Robert Crocker | 03/01/05
As I noted in my other post to you...  John CarrollZDNet Moderator | 03/01/05
Concept versus legal term  Robert Crocker | 03/01/05
I quite understand your point John C...  John Le'Brecage | 03/02/05
Is Open Source Fuzzy to most?  George Jay | 03/01/05
Question  John CarrollZDNet Moderator | 03/01/05
Which is where...  rapson | 03/01/05
Re: Which  John CarrollZDNet Moderator | 03/01/05
Reread your reply to John B.  George Jay | 03/01/05
Claim  rapson | 03/01/05
Who are you arguing with?  John CarrollZDNet Moderator | 03/01/05
MS has NEVER called it open source.  No_Ax_to_Grind | 03/01/05
In fact I've not complained at all  John Le'Brecage | 03/01/05
hmm...  jdahs@... | 03/01/05
No, he was understood  Robert Crocker | 03/02/05
Many licenses, many open sources  Anton Philidor | 03/02/05
ONE OSSI  Robert Crocker | 03/02/05
Definitions that are owned.  Anton Philidor | 03/02/05
Conclusion of prior post.  Anton Philidor | 03/02/05
Open source was around long before the OSI came into existance ...  George Mitchell | 03/01/05
Wilful misrepresentation  whisperycat | 03/01/05
Re: Willful  John CarrollZDNet Moderator | 03/01/05
Similarities..  Patrick Jones | 03/02/05
Start stealing open source ideas?  rock06r | 03/02/05
Skeletins in the closet  Roger Ramjet | 03/01/05
I remember this "slogan"  widge_z | 03/01/05
Conflict of interest  Roger Ramjet | 03/01/05
Whose interest?  Patrick Jones | 03/01/05
Clear conflict of interest.  maxo_z | 03/01/05
Once again..  Patrick Jones | 03/01/05
Really?  NonZealot | 03/01/05
How about Sun  voska | 03/01/05
Move on please  seosamh_z | 03/01/05
WINE  John CarrollZDNet Moderator | 03/01/05
Would we?  Roger Ramjet | 03/02/05
Practical illustration Shared Source inadequacy  whisperycat | 03/01/05
I fail to see your point?  No_Ax_to_Grind | 03/01/05
How long would that take?  voska | 03/01/05
Easy..  Patrick Jones | 03/01/05
As long as there is a timely update  Michael Kelly | 03/01/05
Life is too short for this too  jorwell | 03/01/05
Cost vs. Benefit  j.m.galvin | 03/01/05
Not necessarily  rapson | 03/01/05
And yet....  rock06r | 03/02/05
Patent lawsuits  maxo_z | 03/01/05
Certainly not Sisyphus, John  Anton Philidor | 03/01/05
But, to give you credit, you have King Minos right...  Anton Philidor | 03/01/05
Re: Mythology  John CarrollZDNet Moderator | 03/01/05
Whose job is it? (Main point of article)  Anton Philidor | 03/01/05
Right in principle  John CarrollZDNet Moderator | 03/01/05
Principle and practice  Anton Philidor | 03/01/05
JC  meetwo | 03/01/05
That's not very fair!  TechType | 03/02/05
"Thier very professional existance is at steak."??  Anton Philidor | 03/02/05
welcome back from Europe  JasonL31 | 03/02/05

What do you think?

advertisement
advertisement

White Papers, Webcasts, and Downloads

Meet Doc