When my sister and I were growing up, we were almost always about the same size. We still are, actually. So we shared clothes. It was a way to double our wardrobe. But, from my point of view, I shared mine freely and she never wanted to share back. If I'd say, "I'd like to wear your blue sweater today," her answer would often be, "No, I'm wearing it."
This happened so often, I eventually began to suspect that it was deliberate, her (perhaps unconscious) strategy to keep me away from her things. I'd complain to my mother and long discussions on the need to learn how to share ensued, with my mom giving the lectures, but my sister would passionately plead her case with a list of grievances, her justification for why she wasn't sharing with me while borrowing my things freely. I wasn't worthy of borrowing her clothes. I wouldn't take care of them. I would get them dirty. I'd forget them at my friends' houses. I wouldn't hang them up properly. I would be careless and leave something of hers on the schoolbus and lose it.
Fervent but exaggerated reasons why she shouldn't have to share with me but should still have full rights to use my clothes any time she wanted, because in her mind, she'd take good care of my things but she didn't trust me to do the same with hers, despite the reality that she didn't always hang my things up perfectly and also got my things dirty when she wore them. Her position seemed perfectly equitable to her, while it morally outraged me. I couldn't understand how she could fail to comprehend the injustice. I'd try to explain the benefits to each of us if we pooled our wardrobe. Logic was useless, because it clashed with her heart. The real problem was that at that point in her life, she was selfish. She didn't want to share, only to take.
Some people find it truly hard to share anything with anybody. Microsoft, I have decided, falls into that category. It views the GPL with alarm as enforced taking from them rather than as each contributor benefiting from sharing the benefits of a common pool of code, but under pressure from the growing popularity of Linux to open up a little, it has, just like my sister, come up with a variant on sharing, whereby it shares the absolute least amount possible, while scooping up the resources of others. Like my sister, it does not perceive such behavior as unfair or notice the benefits it is losing by it.
Not being a developer, I had never looked too hard at Microsoft's shared source program. I decided it was worth at least taking a look when I read in SDTimes about Wind River's sudden turnaround on the subject of Linux. After explaining the change in that company's direction, the article mentioned another event in the year they thought significant: the Windows CE shared source program:
One of the most interesting and significant developments of the year was the flip-flop of Wind River Systems Inc.'s position on Linux. The company that for years had condemned the open-source development model and its GPL now belongs to Open Source Developer Labs and Eclipse.org, two organizations committed to advancing the platform and its tools. And while Wind River has been a member of the Embedded Linux Consortium since its formation, its anti-Linux position over the years had at times brought its motivation for membership into question. Any such questions have now been answered.
July of last year also saw the resignation of Wind River CEO Thomas St. Dennis, whose sweeping changes to the way the company did business during his four-year reign were not enough to maintain a profitability streak that had been continuous since 1981. Under interim CEO and Integrated Systems Inc. founder Narendra Gupta, the company will return to its roots as a development tools maker and has added Linux to its list of target operating systems. . . .
Also worthy of note were Microsoft Corp.'s moves with Windows CE. Not only did the company reverse its long-standing position forbidding changes to Windows CE source code, but it also cut its prices from roughly US$15 to about $3. The moves were viewed by one analyst as a survival tactic for competing with Linux in markets for devices with little or no GUI, such as industrial automation and consumer electronics. Microsoft was able to slash the prices by omitting components from the operating system.
I started to do a little more digging, and I found this article, linked to from the first, on Microsoft's plans in the embedded space:
Microsoft Corp. has announced plans to incorporate the feedback technology of its Windows desktop operating systems into embedded Windows later this year. Part of its overall road map for versions coming in 2004, the capabilities will permit developers using Windows CE .NET and XP Embedded to gain insight about network-connected devices in the field and to troubleshoot and perform software maintenance, according to the company.
Additional enhancements to the next version of Windows CE .NET, code-named "Macallan," include 3D graphics, improved security and multimedia capture and encoding. The company also spoke of pending enhancements to XP Embedded (XPE) to be part of Service Pack 2, including Bluetooth, SMS and updates to the .NET Framework. . . .
Windows CE .NET also will get a feature boost, Warren said, from enhancements to the .NET Compact Framework, Microsoft’s mobile device runtime. "We’ll be adding more managed parts to the OS so that C# can take advantage of them," he said, including the multimedia capture and encoding needed to control devices such as digital cameras. "UPS now captures your signature, right? Why not your photo as well? And insurance agents can use them" in the field, he said, to gather visual evidence of assets or to evaluate loss claims.
UPS is going to take my picture now with every delivery? For whose album?
Heavens to Betsy.
Why dream so small? What popped into my head was the old joke about some small Southern towns, where you get pulled over by an officer and then go to court only to find him throwing on a robe and acting as your judge as well as your accuser. With Microsoft's embedded devices, he could now take instant mug shots in the field, too. How efficient. Just imagine how much fun we could all have then, snapping evidence on each other right and left. Snooping is surely coming into its technological own, Microsoft eagerly leading the charge against every last scrap of privacy we may have hidden under the rug in a vain attempt to keep this company from tracking our every digital breath.
So, how does the shared source program work, now that Microsoft has broadened it -- according to this article because of pressure from Linux? A lot like my sister when she was a kid:
As part of its effort to deal with the threat of open-source software, Microsoft plans to let device makers modify more of the source code of its specialized Windows CE operating system. But some say the company's licensing terms could kill interest in the plan.
In a highly touted announcement late Wednesday, Microsoft expanded its existing "shared source" program for Windows CE, its OS for "embedded" devices, which include everything from personal digital assistants to cell phones to sewing machines. Microsoft played up giving manufacturers access to the operating system's source code--or blueprint--and an opportunity to modify it. . . .
Under the terms, manufacturers could be compelled to license some changes back to Microsoft, which would get them without paying royalties. Such a situation could amount to the software maker potentially receiving free research and development at the hands of other companies, DeGroot said. . . .
Under the revision, which Microsoft calls the Windows CE Shared Source Premium License Program, manufacturers would have full access to the operating system source code and be able to make modifications. But unlike open-source development, where modifications to code that's intended for outside distribution must be freely published, some changes would either belong to Microsoft or be licensed back to the company.
It seems if you make changes, for six months you can market your embedded device with your changes, but after that, Microsoft gets a *royalty-free* license to your technology, and any other developer can then use it. Bug fixes or code optimizations get transferred to the company. Reactions have been a lot like mine when pleading my case to my mom, namely cries of "Unfair!":
"That's unbelievable. That's patently unfair," said IDC analyst Roger Kay.
"It's as if the manufacturers were doing work for hire for Microsoft and they didn't get paid. But it's different because they paid for doing the work," said Kay, referring to the fact that manufacturers pay a royalty for modified code the same as nonmodified code. . . .
DeGroot faulted both sets of terms. "This highlights Microsoft's problem with shared source," he said. As the world's leading commercial software company, Microsoft should set a better example. "They should either pay a licensing royalty or pay them for their development work," he said.. . .
During a conference call with the media Wednesday, Mundie lashed out at the GPL's use "in embedded systems." Mundie charged that, interpreted one way, the GPL could be applied to the application running on top of the operating system, forcing developers to publish the code and thus resulting "in the loss of their intellectual property." With Windows CE's "commercial license there is no such risk".
Well, some people don't understand sharing. That's the bottom line. And they interpret any proximity to actual sharing as somebody unfairly taking their stuff, whereas they don't perceive their taking yours as unfair at all. It's called selfishness, and most of us outgrow it, with a little help from our parents, friends and siblings. Microsoft never outgrew it evidently, or at least it hasn't yet. I have that deja vu feeling when I read Mundie's words. He's as close to reality as my sister used to be, which is to say not at all, but trying to explain it to him is going to take a while, maybe years, judging from my experience, because it so goes against the heart's grain.
Here is the shared source license, if you are curious. [Update 2008: Note that the page has gone to the great graveyard in the sky for dead links; however, I think this is it [PDF]. Also you can download the original Windows Embedded Shared Source License here, dated 2002.] On this page, Microsoft says [update 2008: now a dead link; it was at http://www.microsoft.com/windows/
embedded/ce.net/previous/downloads/source/default.asp but Microsoft gives no hint where the page is now] the link takes you to the new license, but it looks like the old version to me. It seems so restrictive, I kept trying to find a newer version. If anyone has a later one, please tell us where to find it. The ban against commercial use is what has changed, they say. My favorite part is the indemnification clause, or more accurately the 'no indemnification' clause:
3. That the Software comes "as is", with no warranties. None whatsoever. This means no implied warranty of merchantability or fitness for a particular purpose or any warranty of non-infringement. Also, you must pass this disclaimer on whenever you distribute the Software.
4. That Microsoft will not be liable for any of those types of damages known as indirect, special, consequential, or incidental related to the Software or this License, to the maximum extent the law permits. Also, you must pass this limitation of liability on whenever you distribute the Software.
5. That if you sue anyone over patents that you think may apply to the Software for a person's use of the Software, your license to the Software ends automatically.
6. That the patent rights Microsoft is licensing only apply to the Software, not to any derivatives you make.
"No warranties. None whatsoever." It's the only part they have in bold type, so I guess they want to be sure you grasp their meaning. In case you were thinking of downloading Windows CE as source, be aware you have to "register your Microsoft Passport", as they put it. You think maybe they'd like to know who you are and what you are doing with their stuff from that day forward? Maybe take a quick snapshot? Kidding. Maybe. Anyway, download at your own risk. Great. So now my sewing machine will be able to track my moves. They probably think it's a plus that their embedded platform has a remote connectivity feature [Update 2008: the link is now dead, but it was at http://www.microsoft.com/windows/embedded/
ce.net/previous/evaluation/compare/ce212v30.asp] feature, allowing someone to execute things from afar and play with the registry, no less:
Remote APIs allow Windows-based desktop systems access to Windows CE-based devices:
-Manipulate Object Store and device registry
-CE Invoke for remote execution of procedures or devices
Now we can have security problems with our embedded devices too. Great. Runaway sewing machines. They don't connect that if they can do these things and build them into the system, bad people can do it to you too. Microsoft just doesn't get security. Or privacy. Or sharing.
One thing I never forgot from my class at Berkman's Center on privacy, the syllabus for which you can follow on your own here, was an excerpt from Janna Malamud Smith's "Private Matters: In Defense of the Personal Life", which helped me to understand that without privacy, we aren't fully ourselves. If Microsoft wants to know what I like about GNU/Linux, I like that it doesn't spy on me. It's not a small crime to rob a person of their privacy.
Here's how I worked things out with my sister. I stopped sharing my clothes with her when I was about 14. We drew a line in the sand. Her stuff was hers and mine was mine. It meant we each had half as many clothes as before, which is logically stupid, but it worked better for us because we stopped fighting about clothes all the time. It's sad, but that's really all you can do with a selfish brat.