Windows CE 6 Arrives Complete with Kernel Source
An anonymous reader writes "Microsoft has launched the sixth edition of their embedded OS Windows CE and this time has included the full source. From the article: 'Developers can now access shared source code for the Windows CE kernel -- as well as certain device drivers and application-level components -- directly from within the Windows Embedded CE 6.0 distribution package. To do this, they click on a function in the IDE that installs the shared source, and indicate their acceptance of the associated shared source license.'"
I'm sure that M$ will be releasing the source code to Vista soon, showing this face of openness is a new corporate stance.
in 3...2... 1...
I'm a fiscal conservative, it's a pity we don't have a political party anymore
What kind of portable or industrial machine is going to need those kinds of capabilities, much less have the onboard hardware to fully utilize 'em?
[Fuck Beta]
o0t!
Damn, I've been interested in Windows CE for ages, and I always wanted to pick the bugger apart, but I never had $3,000 dollars for the platform builder. For those you don't know, 90% percent of Windows CE code (I think its everything expect Windows Media Player and Pocket Internet Explorer) and only charges small royalities (I think it's $6 dollars) per device, and you can do things like port it to a new platform if you wish (assuming you had the required compiler).
I realize this isn't open source persay, but I'm very interested in it, and I wonder why they decided to open the CE kernel up. I also wonder if there is enough code to flash CE 6 onto a CE 5 device (I have a T-Mobile MDA with Windows CE 5, I wonder if I can simply drop the new kernel in there).
This signature was left intentionally blank.
We do a lot of embedded linux projects - mainly custom boards, done around some sort of ARM chip with standard connectivity - LCD, ethernet, or wireless options.
My company invested a lot of time in implementing and setting up our own toolchain and utilities, support libraries etc around the linux kernel. What we end up with is a redistributable result with no liscencing whatsoever.
Of course, it requires you be able to work to produce a flash image and toolchain. Once that pain is dealt with..and there is pain, a lot of it on a custom board.. then you're free to do whatever you want.
x1000's, people count pennies, and WinCE is not pennies.
..don't panic
Hmmm...
;) Who better than the Open Source community?
This must mean Windows CE has some flaws their developpers can't figure out.
!(I'm sure this will help make Diebold machines much more secure.)
This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
Seriously, I'm sure this may not be under exactly a GPL license but rather a MS derivative. Nevertheless it can prove very useful for a large number of embedded device developers. Heck, I've been more impressed by developing for their late Windows CE operating systems than doing the same for Windows XP. :-P Windows CE 6 seem to be an OS that can truly do a heck of a lot of things for the hardware it's running on, and I'll be damned if it isn't a more impressive craftmanship than Vista...
Beware: In C++, your friends can see your privates!
I'm not sure which of their three shared source licenses it's released under, but it should be one or more (sometimes they dual-license stuff, as with the Windows Template Library) of the three listed here. I think the article just called them "shared source" so I can't tell from that one anyway.
Beware: In C++, your friends can see your privates!
At this point in time there have been a number of projects from microsoft that have released their sources under some license or another. Some of them have been true open source licenses, and remarkably those have been hosted on sourceforge along with all the other oss stuff. I'll list the few I know about here and maybe others can mention a few.
.NET runtime developed by microsoft. Runs on windows and BSD I believe, and has been ported to linux by third parties. I don't believe it includes the .NET framework, and is more designed as a reference implementation of "how to get .NET working on other platforms" than anything else.o r/
i censing/WindowsCE.mspx
Wix:
A toolset for building installer packages on windows. Supposedly one of the better ones.
license: cpl
http://wix.sourceforge.net/index.html
WTL:
An extension to the ATL. Probably the best toolkit for developing win32 guis in c++ (lightweight and powerful). It's hampered by the fact that documentation for it is scatered around the net (mostly on the code project) and so mostly people usually end up learning about it by reading through the largely uncommented source.
license: cpl (alternately available under a different, maybe equiavent license if downloaded from microsofts site)
http://wtl.sourceforge.net/
Rotor:
A cross platform implementation of the
License: shared source
http://research.microsoft.com/programs/europe/rot
Windows CE:
Mentioned in article. I think they release it under this license for custimization and debuggin purposes.
License: shared source
http://www.microsoft.com/resources/sharedsource/L
Licenses:
So far microsoft seems to use the shared source license and the CPL license.
The shared source license is relatively restrictive, and generally leaves microsoft with most of the power over issues of reditribution and use of source. Shared source seems to be largely used to distribute code for educational, debugging, and customization uses.
The CPL is a full blown open source/free software license that was actually written by IBM and I believe is the license that eclipse is distributed under (only under a different name). Community projects like Wix and WTL are being handled under this license.
My impression from talking to microsoft guys and from working there briefly is that the antipathy felt towards linux and open source is not particularly pervasive in the company. I've met a few people who had negative misconceptions about open source, but whatever the average slashdotter might think microsoft tends to hire smart people who are aware of industry trends and best practices including oss.
From TFA: The opening up of Windows CE's kernel source code is likely to make Windows CE more attractive as an alternative to Linux in many embedded applications and devices that require substantial customization of the OS, or where source code availability has been mandated by the development team. Additionally, Microsoft touts the terms of its BSD-like shared source license as being preferred by many device and equipment manufacturers that don't want to be compelled to make their OS customizations public and available to their competitors.
On the other hand, following a long to an older article, I read: In terms of impact to Microsoft's Windows CE Shared Source and Shared Platforms initiatives, Windows Embedded product manager Nic Sagez told WindowsForDevices.com that these programs are not migrating to the new licenses any time soon. However, Sagez did not rule out the possibility of a longer term change, based on customer feedback and market requirements.
Back to TFA: For the first time, Microsoft is making 100 percent of the source code of the Windows CE kernel available as part of the Windows Embedded CE 6.0 operating system package, to everyone who gets the OS package.... but nowhere does it explain just which of the many licenses described in the earlier article is actually being used. It seems disingenuous to "touts the terms of its BSD-like shared source license" if the license it's using isn't BSD-like... and, clearly, it's not:
Developers and companies are permitted to use the evaluation version to begin their projects, and need not pay anything to Microsoft until the time limit expires, after which a non-evaluation version is available for $995 -- or when they begin to ship product that requires run-time royalties, Microsoft says.
Run-time royalties? BSD-like license? Please!
What you say about hiring is really true, at least in the Midwest. CE developers are h-a-r-d to find. Maybe they're all on the left and right coasts.
:-)
/. other than "Linux is good, MS is bad." It's all much more complicated than that.
While I don't really disagree with you about Linux/CE, I'll present the same story but from a different standpoint. We use 3 main OSes for development: Linux, VxWorks and WinCE. The other day we received a code drop for a Linux wireless client from a major vendor everyone has heard of. It was a piece of crap. That's great that it was open source, but it was a piece of crap bit of open source. And when you're knee-deep in a project that's already late you don't have time to learn 30K lines of new source and figure out what they screwed up.
Meanwhile (at the same time), we uncovered three problems with CE:
- the DHCP client wasn't waiting long enough for a server response in a particular configuration
- the USB8023 driver wasn't getting enough data from a site survey on an RNDIS device due to an improperly sized buffer
- adding a second IP address to an adapter was producing some wacky behavior (that's the technical term
Within two weeks, MS engineers had diagnosed the 2nd and 3rd problems (we figured out the first) and sent out hotfixes that were later addressed by a QFE (which, for CE, is like a mini service pack). If we had had full source we would've needed an engineer that was intimately familiar with the USB8023 driver and RNDIS, an engineer that was intimately familiar with the way adapters bind to a protcol in CE, and someone with a rudimentary knowledge of DHCP. Your company may be lucky enough to have all on hand, but most companies probably do not.
Three weeks later, Vendor X is still working on those Linux bugs. It doesn't really help that the damn thing is open source.
I realize that these are both anedcotal examples, but maybe it will be refreshing for some to see a viewpoint on
Two endnotes:
- The CE source for the DHCP client is already distributed. It helped to have it on hand.
- The kernel is a very small part of CE. Having the kernel source won't help most people's problems, because most people aren't making kernel changes. Most CE work is done at the driver level, the OAL (the OEM adaptation layer that sits between the hardware and the OS), and the application level.
Have fun: Join D.N.A. (National Dyslexics Association)
So why didn't you hold the vendor accountable for the poor quality? You seemed to expect Microsoft to fix its bugs, why didn't you expect the same service from vendor X?
While MS certainly did respond quickly, they always had the option of ignoring you. Fortunately for you, they paid attention to your problem. I'll bet that a lot of other people were also experiencing the same problem.
However, what do you do when you find yourself with a problem that you can't reliably reproduce, or one that the vendor doesn't think is worth the effort to fix?
With the source code, you can always bring in another engineer to work full time on the problem. Without the source code, your schedule is at the vendor's mercy.
The difference is subtle, but important - especially if you have to meet a deadline.
The society for a thought-free internet welcomes you.
Wow, you both seem to be trolling. The Microsoft Shared Source Licenses are actually quite simple to read and easy to understand. The GPL is actually far more complex, imho.
I worked on products using CE 4.2 and 5.0, and we had the source then. Most of it's there, just not some deep kernel internals (like the scheduler). The SS license is a bit restrictive, but hey: whatyagonnado.
I think they're lowering the cost for everyone. It turns out that most companies that are making a CE product want the source. MS didn't charge for it (well, the CE licenses were pretty expensive to begin with), and it was just costing everybody lawyer-hours.
-- Hamster