Domain: microsoft.com
Stories and comments across the archive that link to microsoft.com.
Stories · 1,971
-
Security Issues with Windows 2000 Datacenter?
alen asks: "The recent IIS security incidents got me thinking. Code Red and Nimda hit servers that weren't patched by their sys admins. If you get infected, you patch your server and end of story. But what if you're running Windows 2000 Datacenter Server? It's a customized solution that you can't change. All your service packs are customized by your vendor. What happens if you have a web or database server that needs to be patched immediately? Are you left out in the cold running unsecure software that you can't patch while you wait in line for your vendor to issue you a service pack or hotfix?" In a situation like this, the whole ball-o-wax resides with the vendor. If you have a good vendor who actually cares about customer satisfaction, these hotfixes will be available quickly. Would anyone out there actually recommend Datacenter for corporate environments?"My company is currently looking to cluster our SQL 7 servers. We're considering Win2000 advanced server or datacenter. Around a month ago I sat in a meeting with our VP of IT, and the rest of the network admins I work with. Compaq tried to pitch their Windows 2000 Datacenter or Advanced Server solution. Here is the way the compaq people explained it:
You get datacenter only from an OEM. They look at the apps you're running and customize a solution for you in their lab. Every datacenter implementation is different, and every datacenter CD is different. Since we would be using an EMC SAN as our clustered storage system they said our implementation would take special customization. They would have to contact EMC engineers and work together. Once you deploy it, the OEM monitors it. And you can't install any service packs or anything without getting an OK from your OEM. Any service packs are customized for your enviroment. The SLA guarantees a 99.999% uptime or your money back. Part of your money at least. Datacenter isn't an OS, but a program in their words.
Now here is the problem. With Code Red and Nimda, how do you patch IIS running on datacenter in a timely manner? The reason IIS servers became infected was because the admins didn't patch them in the first place. So say a new worm comes out in a few months and it takes a few days for MS to create a hotfix. Datacenter admins can't install it until they get their customized copy from their OEM. And almost every 2000 server runs IIS for terminal server. It can take a few days and in the meantime your servers could be down. And I don't see the SLA covering a situation like this. Meanwhile you're explaining to your CEO how this $500K supposedly guaranteed solution is sitting dead in the water and you can't do a thing about.
Is there something I'm missing, or did Microsoft look over something like this? Especially when they are trying to push Datacenter as 'Big Iron'." -
Microsoft Blames the Messengers
Roger writes: "In an essay published on microsoft.com, Scott Culp, Manager of the Microsoft Security Response Center, calls on security experts to "end information anarchy" and stop releasing sample code that exploits security holes in Windows and other operating systems. "It's high time the security community stopped providing the blueprints for building these weapons," Culp writes in the essay. "And it's high time that computer users insisted that the security community live up to its obligation to protect them." See the story on Cnet News.com." -
Microsoft Blames the Messengers
Roger writes: "In an essay published on microsoft.com, Scott Culp, Manager of the Microsoft Security Response Center, calls on security experts to "end information anarchy" and stop releasing sample code that exploits security holes in Windows and other operating systems. "It's high time the security community stopped providing the blueprints for building these weapons," Culp writes in the essay. "And it's high time that computer users insisted that the security community live up to its obligation to protect them." See the story on Cnet News.com." -
IBM Patents Web Page Templates
jalefkowit writes: "More follies from the US Patent & Trademark Office ... now IBM has been awarded US Patent #6,304,886 for software that automatically "generates [a] customized Web site without the Web site creator writing any HTML or other programming code", based on "a plurality of pre-stored templates, comprising HTML formatting code, text, fields, and formulas" that are then customized through the process of asking the user a few questions. In other words, they've patented the ubiquitous wizards found in FrontPage and other newbie-oriented HTML editors. This was submitted to the USPTO on June 19, 1998 -- surely someone out there knows of prior art for this?" -
J#
fuze writes: "It's basically a way for Java developers to migrate their Java apps to .NET.... even provide a 'convenient' migration tool... check it out on MSDN." News.com has a story describing Microsoft's plans to suck Java into .Net, and some commentary saying basically, "No one will use it". -
Holes in PowerPoint and Excel
jeffy124 writes: "Looks like it's time for IIS and Outlook to make room on the pedestal of security holes. Just about every recent version of PowerPoint and Excel are vulnerable to being taken over to control the system remotely. The hole is a macro-related, as it's possible to bypass asking the user if they'd like a macro to run. Microsoft's advisory can be found here." Funny. I always thought that PowerPoint was already at least as destructive as macro viruses to corporate productivity. You ever watch a suit fiddle with his presentation? -
Pocket PC 2002
Microsoft is holding some sort of launch event today for a pile of new Pocket PC devices. Pocket PC Thoughts has a bunch of news items; PDA Buzz has a report and pretty comparison chart looking at the different models, and I'm sure people will post more links in the comments. So, is this the mighty Palm-killer? -
Music Industry Forcing WMA standard?
CtrlPhreak writes "Cnet news.com has a story up stating that the music industry is considering having cds that contain the un-rippable tracks as well as the windows media formatted files with limited uses ala Microsoft's digital rights management. Just one more brick in Microsoft's continuing monopoly..." And another format that I can't play back. Hope this one dies fast. -
Nimda To Strike Again
Seabass55 writes: "Researchers say Nimda is set to propagate again after rechecking Nimda's code. God help all the MS boxes ... again." Looks like the owners of unpatched IIS machines have until 9 p.m. GMT (1 a.m. ET) to get ready. I'd like to see a nice double stockade for the writers of Sircam and Nimda, and maybe some fireants. Update: 09/27 22:45 GMT by T : Temporal confusion -- that's 5:00 GMT, sorry :) Update: 09/28 00:14 GMT by T : Carnage4Life contributes this link to a command-line tool from Microsoft to list patches already installed or still needed, if you think your Windows machine may be vulnerable. -
Software Transferability? (or the lack of it)
BarefootClown asks: "We've all seen the stories about Microsoft forcing eBay to remove auctions hawking their software. Microsoft is certainly the most visible target, but there are others. Most every EULA includes a clause forbidding the transfer of ownership of software (there are exceptions, of course, and kudos to them). My question is, have these clauses been upheld in court?" What is so special about software (and their licenses), that allows it to avoid the protections consumers enjoy from more tangible products?"I seem to recall hearing stories of courts overturning these schemes; does anybody have any specifics? Cases/judicial opinions, perhaps? I've checked FindLaw, Google, and others, but haven't found anything (haven't found anything upholding them, either...). Have these clauses ever even been to court, or do the companies just depend on FUD to bludgeon the end user into compliance? Anybody with experience, I'd love to hear it. Lawyers, your opinions? (Lawyers, would you be willing to fight one out in court, if given the chance?)"
As many of you may know, the concept of "owning" software is fallacy. You own nothing. What you do posess when you purchase your new piece of commercial software, is a corporate-skewed set of limited-use rights, which are getting more and more limited each day. For those interested, the latest print issue of Wired (October, 2001) has a big "article" on this (see p.170). It attempts to illustrate thru humorous example, what software has been seriously doing for decades.
No one would own (or lease) a car if the contract said, "You must not sell this car, in the event this car is no longer used, send it to the nearest junkyard.", so why is this true for software?
-
Inline Review With Miguel De Icaza
Thanks to Dare Obasanjo for conducting this interview with [Miguel De Icaza], and sending it on to me. I've posted the interview below here - interesting answers, and very thorough. Well done, Dare.
Interview With Miguel de Icaza Bringing a component architecture to the UNIX platformSummary
By Dare (Carnage4Life) Obasanjo
In this interview, Miguel de Icaza, the founder of GNOME and Ximian, talks about UNIX components, Bonobo, Mono and .NET.Dare Obasanjo: You have recently been in the press due to Ximian's announcement that it shall create an Open Source implementation of Microsoft's .NET development platform. Before the recent furor you've been notable for the work you've done with GNOME and Bonobo. Can you give a brief overview of your involvement in Free Software from your earlier projects up to Mono?
Miguel de Icaza: I have been working for the past four years on the GNOME project in various areas: organization of it, libraries and applications. Before that I used to work on the Linux kernel, I worked for a long time on the SPARC port, then on the software raid and some on the Linux/SGI effort. Before that I had written the Midnight Commander file manager.
Dare Obasanjo: In your Let's Make Unix Not Suck series you mention that UNIX development has long been hampered by a lack of code reuse. You specifically mention Brad Cox's concept of Software Integrated Circuits, where software is built primarily by combining reusable components, as a vision of how code reuse should occur. Many have countered your arguments by stating that UNIX is built on the concept of using reusable components to build programs by connecting the output of smaller programs with pipes. What are your opinions of this counter-argument?
Miguel de Icaza: Well, the paper addresses that question in detail. A `pipe' is hardly a complete component system. It is a transport mechanism that is used with some well known protocols (lines, characters, buffers) to process information. The protocol only has a flow of information.
Details are on the paper:
http://primates.ximian.com/~miguel/bongo-bong.html [Dare -- check the section entitled "Unix Components: Small is Beautiful"]Dare Obasanjo: Bonobo was your attempt to create a UNIX component architecture using CORBA as the underlying base. What are the reasons you have decided to focus on Mono instead?
Miguel de Icaza: The GNOME project goal was to bring missing technologies to Unix and make it competitive in the current market place for desktop applications. We also realized early on that language independence was important, and that is why GNOME APIs were coded using a standard that allowed the APIs to be easily wrapped for other languages. Our APIs are available to most programming languages on Unix (Perl, Python, Scheme, C++, Objective-C, Ada).
Later on we decided to use better methods for encapsulating our APIs, and we started to use CORBA to define interfaces to components. We complemented it with policy and a set of standard GNOME interfaces for easily creating reusable, language independent components, controls and compound documents. This technology is known as Bonobo. Interfaces to Bonobo exist for C, Perl, Python, and Java.
CORBA is good when you define coarse interfaces, and most Bonobo interfaces are coarse. The only problem is that Bonobo/CORBA interfaces are not good for small interfaces. For example, an XML parsing Bonobo/CORBA component would be inefficient compared to a C API.
I also wrote at some point:My interest in .NET comes from the attempts that we have made before in the GNOME project to achieve some of the things .NET does:
- APIs that are exposed to multiple languages.
- Cross-language integration.
- Contract/interface based programming.
And on top of things, I always loved various things about Java. I just did not love the Java combo that you were supposed to give or take.
APIs exposed to many languages we tried by having a common object base (GtkObject) and then following an API contract and a format that would allow others to wrap the APIs easily for their programming language. We even have a Scheme-based definition of the API that is used to generate wrappers on the fly. This solution is suboptimal for many reasons.
The Cross-language integration we have been doing with CORBA, sort of like COM, but with an imposed marshalling penalty. It works pretty well for non inProc components. But for inProc components the story is pretty bad: since there was no CORBA ABI that we could use, the result is so horrible, that I have no words to describe it.
On top of this problem, we have a proliferation of libraries. Most of them follow our coding conventions pretty accurately. Every once in a while they either wont or we would adopt a library written by someone else. This had lead to a mix of libraries that although powerful in result implement multiple programming models, sometimes different allocation and ownership policies and after a while you are dealing with 5 different kind of "ref/unref" behaviours (CORBA local references, CORBA object references on Unknown objects, reference count on object wrappers) and this was turning into a gigantic mess.
We have of course been trying to fix all these issues, and things are looking better (the GNOME 2.x platform does solve many of these issues, but still).
.NET seemed to me like an upgrade for Win32 developers: they had the same problems we had when dealing with APIs that have been designed over many years, a great deal of inconsistency. So I want to have some of this new "fresh air" available for building my own applications.
Dare Obasanjo: Bonobo is slightly based on COM and OLE2 as can be gleaned from the fact that Bonobo interfaces are all based on the Bonobo::Unknown interface which provides two basic services: object lifetime management and object functionality-discovery and only contains three methods:
which is very similar to Microsoft's COM IUnknown interface which has the following methodsmodule Bonobo { interface Unknown { void ref (); void unref (); Object query_interface (in string repoid); }; };
Does the fact that .NET seems to spell the impending death of COM mean that Mono will spell the end of of Bonobo? Similarly considering that .NET plans to have semi-transparent COM/.NET interoperability, is there a similar plan for Mono and Bonobo?HRESULT QueryInterface(REFIID riid, void **ppvObject); ULONG AddRef(); ULONG Release();Miguel de Icaza: Definetly. Mono will have to interoperate with a number of systems out there including Bonobo on GNOME.
Dare Obasanjo: A number of parties have claimed that Microsoft's NET platform is a poor clone of the Java(TM) platform. If this is the case why hasn't Ximian decided to clone or use the Java platform instead of cloning Microsoft's .NET platform?
Miguel de Icaza: We were interested in the CLR because it solves a problem that we face every day. The Java VM did not solve this problem.
Dare Obasanjo: On the Mono Rationale page it is pointed out that Microsoft's .NET strategy encompasses many efforts including
- The .NET development platform, a new platform for writing software.
- Web services.
- Microsoft Server Applications.
- New tools that use the new development platform.
- Hailstorm, the Passport centralized single-signon system that is being integrated into Windows XP.
Miguel de Icaza: Not at this point. We have a commitment to develop currently:
- A CLI runtime with a JITer for x86 CPUs.
- A C# compiler.
- A class library
All of the above with the help of external contributors. You have to understand that this is a big undertaking and that without the various people who have donated their time, expertise and code to the project we would not even have a chance of delivering a complete product any time soon.
We are doing this for selfish reasons: we want a better way of developing Linux and Unix applications ourselves and we see the CLI as such a thing.
That being said, Ximian being in the services and support business would not mind extending its effort towards making the Mono project tackle other things like porting to new platforms, or improving the JIT engine, or focusing on a particular area of Mono.
But other than this, we do not have plans at this point to go beyond the three basic announcements that we have made.
Dare Obasanjo: There are a number of other projects that are implementing other parts of .NET on Free platforms that seem to be have friction with the Mono project. Section 7.2 of Portable.NET's FAQ seems to indicate they have had conflict with the Mono project as does the banning of Martin Coxall from the dotGNU mailing list. What are your thoughts on this?
Miguel de Icaza: I did not pay attention to the actual details of the banning of Martin from the DotGNU mailing lists. Usenet and Internet mailing lists are a culture of their own and I think this is just another instance of what usually happens on the net. It is definitely sad.
The focus of Mono and .NET is slightly different: we are writing as much as we can in a high level language like C#, and writing reusable pieces of software out of it. Portable.NET is being written in C.
Dare Obasanjo: There have been conflicting reports about Ximian's relationship with Microsoft. On one hand there are reports that seem to indicate that there may be licensing problems between the license that will govern .NET and the GPL. On the other hand there is an indication that some within Microsoft are enthusiastic about Mono. So exactly what is Ximian's current relationship is with Microsoft and what will be done to ensure that Mono does not violate Microsoft's licenses on .NET if they turn out to be restrictive?
Miguel de Icaza: Well, for one we are writing everything from scratch.
We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques.
Dare Obasanjo: It has been pointed out that Sun retracted Java(TM) from standards processes at least twice, will the Mono project continue if .NET stops being an open standard for any reason?
Miguel de Icaza: The upgrade on our development platform has a value independently of whether it is a standard or not. The fact that Microsoft has submitted its specifications to a standards body has helped, since people who know about these problems have looked at the problem and can pin point problems for interoperability.
Dare Obasanjo: Similarly what happens if Dan Kusnetzky's prediction comes true and Microsoft changes the .NET APIs in the future? Will the Mono project play catchup or will it become an incompatible implementation of .NET on UNIX platforms?
Miguel de Icaza: Microsoft is remarkably good at keeping their APIs backwards compatible (and this is one of the reasons I think they have had so much success as a platform vendor). So I think that this would not be a problem.
Now, even if this was a problem, it is always possible to have multiple implementations of the same APIs and use the correct one by choosing at runtime the proper "assembly". Assemblies are a new way of dealing with software bundles and the files that are part of an assembly can be cryptographically checksummed and their APIs programmatically tested for compatibility. [Dare -- Description of Assemblies from MSDN gloassary]
So even if they deviate from the initial release, it would be possible to provide assemblies that are backwards compatible (we can both do that: Microsoft and ourselves)
Dare Obasanjo: Looking at the Mono class status page I noticed that a large number of .NET class libraries are not being implemented in Mono such as WinForms, ADO.NET, Web Services, XML schemas, reflection and a number of others. This means that it is very likely that when Mono and .NET are finally released apps written for .NET will not be portable to Mono. Is there any plan to rectify this in the future or is creating a portable .NET platform not a goal of the Mono project? Similarly what are the short and long term goals of the Mono project?
Miguel de Icaza: The status web page reflects the classes that people have "requested" to work on. The status web page is just a way of saying `Hey, I am working on this class as of this date' to avoid code duplication. If someone registers their interest in working on something and they do not do something after some period of time, then we can reclaim the class.
We are on the very early stages of the project, so you do see more work going on the foundational classes than on the end user classes.
I was not even expecting so many great and talented programmers to contribute so early in the project. My original prediction is that we would spend the first three months hacking on our own in public with no external contributions, but I have been proved wrong.
You have to realize that the goals of the Mono project are not only the goals of Ximian. Ximian has a set of goals, but every contributor to the project has his own goals: some people want to learn, some people like working on C#, some people want full .NET compatibility on Linux, some people want language independence, some people like to optimize code, some people like low level programming and some people want to compete with Microsoft, some people like the way .NET services work.
So the direction of the project is steered by those that contribute to it. Many people are very interested in having a compatible .NET implementation for non-Windows platforms, and they are contributing towards filling those gaps.
Dare Obasanjo: How does Ximian plan to pay for the costs of developing Mono especially after the failure of a number of recent venture funded, Free Software-based companies like Indrema, Eazel and Great Bridge and the fact that a sizable percentage of the remaining Free Software based companies are on the ropes? Specifically how does Ximian plan to make money at Free Software in general and Mono in particular?
Miguel de Icaza:Ximian provides support and services. We announced a few of our services recently, and more products and services have been on the pipeline for quite a while and would be announced during the next six months.
Those we announced recently are:
- Red Carpet Express: a subscription service for those who want a reliable high speed access to the Red Carpet servers.
- Red Carpet Corporate Connect: We modified our Red Carpet updater technology to help people manage networks of Linux workstations easily and to deploy and maintain custom software packages.
- Support and services for the GNOME desktop and Evolution: Our latest boxed products are our way of selling support services for the various products we ship.
The particular case of Mono is interesting. We are working on Mono to reduce our development costs. A very nice foundation has been laid and submitted to ECMA. Now, with the help of other interested parties that also realize the power of it, we are developing the Mono runtime and development tools to help us improve our productivity.
Indeed, the team working on Mono at Ximian is the same team that provided infrastructural help to the rest of the company in the past.
Dare Obasanjo: It is probably little known in some corners that you once interviewed with Microsoft to work on the SPARC port of Internet Explorer. Considering the impact you have had on the Free Software community since then, have you ever wondered what your life would have been like if you had become a Microsoft employee?
Miguel de Icaza: I have not given it a lot of thought, no. But I did ask everyone I interviewed at Microsoft to open source Internet Explorer, way before Netscape Communicator was Open Sourced ;-)
- APIs that are exposed to multiple languages.
-
Inline Review With Miguel De Icaza
Thanks to Dare Obasanjo for conducting this interview with [Miguel De Icaza], and sending it on to me. I've posted the interview below here - interesting answers, and very thorough. Well done, Dare.
Interview With Miguel de Icaza Bringing a component architecture to the UNIX platformSummary
By Dare (Carnage4Life) Obasanjo
In this interview, Miguel de Icaza, the founder of GNOME and Ximian, talks about UNIX components, Bonobo, Mono and .NET.Dare Obasanjo: You have recently been in the press due to Ximian's announcement that it shall create an Open Source implementation of Microsoft's .NET development platform. Before the recent furor you've been notable for the work you've done with GNOME and Bonobo. Can you give a brief overview of your involvement in Free Software from your earlier projects up to Mono?
Miguel de Icaza: I have been working for the past four years on the GNOME project in various areas: organization of it, libraries and applications. Before that I used to work on the Linux kernel, I worked for a long time on the SPARC port, then on the software raid and some on the Linux/SGI effort. Before that I had written the Midnight Commander file manager.
Dare Obasanjo: In your Let's Make Unix Not Suck series you mention that UNIX development has long been hampered by a lack of code reuse. You specifically mention Brad Cox's concept of Software Integrated Circuits, where software is built primarily by combining reusable components, as a vision of how code reuse should occur. Many have countered your arguments by stating that UNIX is built on the concept of using reusable components to build programs by connecting the output of smaller programs with pipes. What are your opinions of this counter-argument?
Miguel de Icaza: Well, the paper addresses that question in detail. A `pipe' is hardly a complete component system. It is a transport mechanism that is used with some well known protocols (lines, characters, buffers) to process information. The protocol only has a flow of information.
Details are on the paper:
http://primates.ximian.com/~miguel/bongo-bong.html [Dare -- check the section entitled "Unix Components: Small is Beautiful"]Dare Obasanjo: Bonobo was your attempt to create a UNIX component architecture using CORBA as the underlying base. What are the reasons you have decided to focus on Mono instead?
Miguel de Icaza: The GNOME project goal was to bring missing technologies to Unix and make it competitive in the current market place for desktop applications. We also realized early on that language independence was important, and that is why GNOME APIs were coded using a standard that allowed the APIs to be easily wrapped for other languages. Our APIs are available to most programming languages on Unix (Perl, Python, Scheme, C++, Objective-C, Ada).
Later on we decided to use better methods for encapsulating our APIs, and we started to use CORBA to define interfaces to components. We complemented it with policy and a set of standard GNOME interfaces for easily creating reusable, language independent components, controls and compound documents. This technology is known as Bonobo. Interfaces to Bonobo exist for C, Perl, Python, and Java.
CORBA is good when you define coarse interfaces, and most Bonobo interfaces are coarse. The only problem is that Bonobo/CORBA interfaces are not good for small interfaces. For example, an XML parsing Bonobo/CORBA component would be inefficient compared to a C API.
I also wrote at some point:My interest in .NET comes from the attempts that we have made before in the GNOME project to achieve some of the things .NET does:
- APIs that are exposed to multiple languages.
- Cross-language integration.
- Contract/interface based programming.
And on top of things, I always loved various things about Java. I just did not love the Java combo that you were supposed to give or take.
APIs exposed to many languages we tried by having a common object base (GtkObject) and then following an API contract and a format that would allow others to wrap the APIs easily for their programming language. We even have a Scheme-based definition of the API that is used to generate wrappers on the fly. This solution is suboptimal for many reasons.
The Cross-language integration we have been doing with CORBA, sort of like COM, but with an imposed marshalling penalty. It works pretty well for non inProc components. But for inProc components the story is pretty bad: since there was no CORBA ABI that we could use, the result is so horrible, that I have no words to describe it.
On top of this problem, we have a proliferation of libraries. Most of them follow our coding conventions pretty accurately. Every once in a while they either wont or we would adopt a library written by someone else. This had lead to a mix of libraries that although powerful in result implement multiple programming models, sometimes different allocation and ownership policies and after a while you are dealing with 5 different kind of "ref/unref" behaviours (CORBA local references, CORBA object references on Unknown objects, reference count on object wrappers) and this was turning into a gigantic mess.
We have of course been trying to fix all these issues, and things are looking better (the GNOME 2.x platform does solve many of these issues, but still).
.NET seemed to me like an upgrade for Win32 developers: they had the same problems we had when dealing with APIs that have been designed over many years, a great deal of inconsistency. So I want to have some of this new "fresh air" available for building my own applications.
Dare Obasanjo: Bonobo is slightly based on COM and OLE2 as can be gleaned from the fact that Bonobo interfaces are all based on the Bonobo::Unknown interface which provides two basic services: object lifetime management and object functionality-discovery and only contains three methods:
which is very similar to Microsoft's COM IUnknown interface which has the following methodsmodule Bonobo { interface Unknown { void ref (); void unref (); Object query_interface (in string repoid); }; };
Does the fact that .NET seems to spell the impending death of COM mean that Mono will spell the end of of Bonobo? Similarly considering that .NET plans to have semi-transparent COM/.NET interoperability, is there a similar plan for Mono and Bonobo?HRESULT QueryInterface(REFIID riid, void **ppvObject); ULONG AddRef(); ULONG Release();Miguel de Icaza: Definetly. Mono will have to interoperate with a number of systems out there including Bonobo on GNOME.
Dare Obasanjo: A number of parties have claimed that Microsoft's NET platform is a poor clone of the Java(TM) platform. If this is the case why hasn't Ximian decided to clone or use the Java platform instead of cloning Microsoft's .NET platform?
Miguel de Icaza: We were interested in the CLR because it solves a problem that we face every day. The Java VM did not solve this problem.
Dare Obasanjo: On the Mono Rationale page it is pointed out that Microsoft's .NET strategy encompasses many efforts including
- The .NET development platform, a new platform for writing software.
- Web services.
- Microsoft Server Applications.
- New tools that use the new development platform.
- Hailstorm, the Passport centralized single-signon system that is being integrated into Windows XP.
Miguel de Icaza: Not at this point. We have a commitment to develop currently:
- A CLI runtime with a JITer for x86 CPUs.
- A C# compiler.
- A class library
All of the above with the help of external contributors. You have to understand that this is a big undertaking and that without the various people who have donated their time, expertise and code to the project we would not even have a chance of delivering a complete product any time soon.
We are doing this for selfish reasons: we want a better way of developing Linux and Unix applications ourselves and we see the CLI as such a thing.
That being said, Ximian being in the services and support business would not mind extending its effort towards making the Mono project tackle other things like porting to new platforms, or improving the JIT engine, or focusing on a particular area of Mono.
But other than this, we do not have plans at this point to go beyond the three basic announcements that we have made.
Dare Obasanjo: There are a number of other projects that are implementing other parts of .NET on Free platforms that seem to be have friction with the Mono project. Section 7.2 of Portable.NET's FAQ seems to indicate they have had conflict with the Mono project as does the banning of Martin Coxall from the dotGNU mailing list. What are your thoughts on this?
Miguel de Icaza: I did not pay attention to the actual details of the banning of Martin from the DotGNU mailing lists. Usenet and Internet mailing lists are a culture of their own and I think this is just another instance of what usually happens on the net. It is definitely sad.
The focus of Mono and .NET is slightly different: we are writing as much as we can in a high level language like C#, and writing reusable pieces of software out of it. Portable.NET is being written in C.
Dare Obasanjo: There have been conflicting reports about Ximian's relationship with Microsoft. On one hand there are reports that seem to indicate that there may be licensing problems between the license that will govern .NET and the GPL. On the other hand there is an indication that some within Microsoft are enthusiastic about Mono. So exactly what is Ximian's current relationship is with Microsoft and what will be done to ensure that Mono does not violate Microsoft's licenses on .NET if they turn out to be restrictive?
Miguel de Icaza: Well, for one we are writing everything from scratch.
We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques.
Dare Obasanjo: It has been pointed out that Sun retracted Java(TM) from standards processes at least twice, will the Mono project continue if .NET stops being an open standard for any reason?
Miguel de Icaza: The upgrade on our development platform has a value independently of whether it is a standard or not. The fact that Microsoft has submitted its specifications to a standards body has helped, since people who know about these problems have looked at the problem and can pin point problems for interoperability.
Dare Obasanjo: Similarly what happens if Dan Kusnetzky's prediction comes true and Microsoft changes the .NET APIs in the future? Will the Mono project play catchup or will it become an incompatible implementation of .NET on UNIX platforms?
Miguel de Icaza: Microsoft is remarkably good at keeping their APIs backwards compatible (and this is one of the reasons I think they have had so much success as a platform vendor). So I think that this would not be a problem.
Now, even if this was a problem, it is always possible to have multiple implementations of the same APIs and use the correct one by choosing at runtime the proper "assembly". Assemblies are a new way of dealing with software bundles and the files that are part of an assembly can be cryptographically checksummed and their APIs programmatically tested for compatibility. [Dare -- Description of Assemblies from MSDN gloassary]
So even if they deviate from the initial release, it would be possible to provide assemblies that are backwards compatible (we can both do that: Microsoft and ourselves)
Dare Obasanjo: Looking at the Mono class status page I noticed that a large number of .NET class libraries are not being implemented in Mono such as WinForms, ADO.NET, Web Services, XML schemas, reflection and a number of others. This means that it is very likely that when Mono and .NET are finally released apps written for .NET will not be portable to Mono. Is there any plan to rectify this in the future or is creating a portable .NET platform not a goal of the Mono project? Similarly what are the short and long term goals of the Mono project?
Miguel de Icaza: The status web page reflects the classes that people have "requested" to work on. The status web page is just a way of saying `Hey, I am working on this class as of this date' to avoid code duplication. If someone registers their interest in working on something and they do not do something after some period of time, then we can reclaim the class.
We are on the very early stages of the project, so you do see more work going on the foundational classes than on the end user classes.
I was not even expecting so many great and talented programmers to contribute so early in the project. My original prediction is that we would spend the first three months hacking on our own in public with no external contributions, but I have been proved wrong.
You have to realize that the goals of the Mono project are not only the goals of Ximian. Ximian has a set of goals, but every contributor to the project has his own goals: some people want to learn, some people like working on C#, some people want full .NET compatibility on Linux, some people want language independence, some people like to optimize code, some people like low level programming and some people want to compete with Microsoft, some people like the way .NET services work.
So the direction of the project is steered by those that contribute to it. Many people are very interested in having a compatible .NET implementation for non-Windows platforms, and they are contributing towards filling those gaps.
Dare Obasanjo: How does Ximian plan to pay for the costs of developing Mono especially after the failure of a number of recent venture funded, Free Software-based companies like Indrema, Eazel and Great Bridge and the fact that a sizable percentage of the remaining Free Software based companies are on the ropes? Specifically how does Ximian plan to make money at Free Software in general and Mono in particular?
Miguel de Icaza:Ximian provides support and services. We announced a few of our services recently, and more products and services have been on the pipeline for quite a while and would be announced during the next six months.
Those we announced recently are:
- Red Carpet Express: a subscription service for those who want a reliable high speed access to the Red Carpet servers.
- Red Carpet Corporate Connect: We modified our Red Carpet updater technology to help people manage networks of Linux workstations easily and to deploy and maintain custom software packages.
- Support and services for the GNOME desktop and Evolution: Our latest boxed products are our way of selling support services for the various products we ship.
The particular case of Mono is interesting. We are working on Mono to reduce our development costs. A very nice foundation has been laid and submitted to ECMA. Now, with the help of other interested parties that also realize the power of it, we are developing the Mono runtime and development tools to help us improve our productivity.
Indeed, the team working on Mono at Ximian is the same team that provided infrastructural help to the rest of the company in the past.
Dare Obasanjo: It is probably little known in some corners that you once interviewed with Microsoft to work on the SPARC port of Internet Explorer. Considering the impact you have had on the Free Software community since then, have you ever wondered what your life would have been like if you had become a Microsoft employee?
Miguel de Icaza: I have not given it a lot of thought, no. But I did ask everyone I interviewed at Microsoft to open source Internet Explorer, way before Netscape Communicator was Open Sourced ;-)
- APIs that are exposed to multiple languages.
-
Inline Review With Miguel De Icaza
Thanks to Dare Obasanjo for conducting this interview with [Miguel De Icaza], and sending it on to me. I've posted the interview below here - interesting answers, and very thorough. Well done, Dare.
Interview With Miguel de Icaza Bringing a component architecture to the UNIX platformSummary
By Dare (Carnage4Life) Obasanjo
In this interview, Miguel de Icaza, the founder of GNOME and Ximian, talks about UNIX components, Bonobo, Mono and .NET.Dare Obasanjo: You have recently been in the press due to Ximian's announcement that it shall create an Open Source implementation of Microsoft's .NET development platform. Before the recent furor you've been notable for the work you've done with GNOME and Bonobo. Can you give a brief overview of your involvement in Free Software from your earlier projects up to Mono?
Miguel de Icaza: I have been working for the past four years on the GNOME project in various areas: organization of it, libraries and applications. Before that I used to work on the Linux kernel, I worked for a long time on the SPARC port, then on the software raid and some on the Linux/SGI effort. Before that I had written the Midnight Commander file manager.
Dare Obasanjo: In your Let's Make Unix Not Suck series you mention that UNIX development has long been hampered by a lack of code reuse. You specifically mention Brad Cox's concept of Software Integrated Circuits, where software is built primarily by combining reusable components, as a vision of how code reuse should occur. Many have countered your arguments by stating that UNIX is built on the concept of using reusable components to build programs by connecting the output of smaller programs with pipes. What are your opinions of this counter-argument?
Miguel de Icaza: Well, the paper addresses that question in detail. A `pipe' is hardly a complete component system. It is a transport mechanism that is used with some well known protocols (lines, characters, buffers) to process information. The protocol only has a flow of information.
Details are on the paper:
http://primates.ximian.com/~miguel/bongo-bong.html [Dare -- check the section entitled "Unix Components: Small is Beautiful"]Dare Obasanjo: Bonobo was your attempt to create a UNIX component architecture using CORBA as the underlying base. What are the reasons you have decided to focus on Mono instead?
Miguel de Icaza: The GNOME project goal was to bring missing technologies to Unix and make it competitive in the current market place for desktop applications. We also realized early on that language independence was important, and that is why GNOME APIs were coded using a standard that allowed the APIs to be easily wrapped for other languages. Our APIs are available to most programming languages on Unix (Perl, Python, Scheme, C++, Objective-C, Ada).
Later on we decided to use better methods for encapsulating our APIs, and we started to use CORBA to define interfaces to components. We complemented it with policy and a set of standard GNOME interfaces for easily creating reusable, language independent components, controls and compound documents. This technology is known as Bonobo. Interfaces to Bonobo exist for C, Perl, Python, and Java.
CORBA is good when you define coarse interfaces, and most Bonobo interfaces are coarse. The only problem is that Bonobo/CORBA interfaces are not good for small interfaces. For example, an XML parsing Bonobo/CORBA component would be inefficient compared to a C API.
I also wrote at some point:My interest in .NET comes from the attempts that we have made before in the GNOME project to achieve some of the things .NET does:
- APIs that are exposed to multiple languages.
- Cross-language integration.
- Contract/interface based programming.
And on top of things, I always loved various things about Java. I just did not love the Java combo that you were supposed to give or take.
APIs exposed to many languages we tried by having a common object base (GtkObject) and then following an API contract and a format that would allow others to wrap the APIs easily for their programming language. We even have a Scheme-based definition of the API that is used to generate wrappers on the fly. This solution is suboptimal for many reasons.
The Cross-language integration we have been doing with CORBA, sort of like COM, but with an imposed marshalling penalty. It works pretty well for non inProc components. But for inProc components the story is pretty bad: since there was no CORBA ABI that we could use, the result is so horrible, that I have no words to describe it.
On top of this problem, we have a proliferation of libraries. Most of them follow our coding conventions pretty accurately. Every once in a while they either wont or we would adopt a library written by someone else. This had lead to a mix of libraries that although powerful in result implement multiple programming models, sometimes different allocation and ownership policies and after a while you are dealing with 5 different kind of "ref/unref" behaviours (CORBA local references, CORBA object references on Unknown objects, reference count on object wrappers) and this was turning into a gigantic mess.
We have of course been trying to fix all these issues, and things are looking better (the GNOME 2.x platform does solve many of these issues, but still).
.NET seemed to me like an upgrade for Win32 developers: they had the same problems we had when dealing with APIs that have been designed over many years, a great deal of inconsistency. So I want to have some of this new "fresh air" available for building my own applications.
Dare Obasanjo: Bonobo is slightly based on COM and OLE2 as can be gleaned from the fact that Bonobo interfaces are all based on the Bonobo::Unknown interface which provides two basic services: object lifetime management and object functionality-discovery and only contains three methods:
which is very similar to Microsoft's COM IUnknown interface which has the following methodsmodule Bonobo { interface Unknown { void ref (); void unref (); Object query_interface (in string repoid); }; };
Does the fact that .NET seems to spell the impending death of COM mean that Mono will spell the end of of Bonobo? Similarly considering that .NET plans to have semi-transparent COM/.NET interoperability, is there a similar plan for Mono and Bonobo?HRESULT QueryInterface(REFIID riid, void **ppvObject); ULONG AddRef(); ULONG Release();Miguel de Icaza: Definetly. Mono will have to interoperate with a number of systems out there including Bonobo on GNOME.
Dare Obasanjo: A number of parties have claimed that Microsoft's NET platform is a poor clone of the Java(TM) platform. If this is the case why hasn't Ximian decided to clone or use the Java platform instead of cloning Microsoft's .NET platform?
Miguel de Icaza: We were interested in the CLR because it solves a problem that we face every day. The Java VM did not solve this problem.
Dare Obasanjo: On the Mono Rationale page it is pointed out that Microsoft's .NET strategy encompasses many efforts including
- The .NET development platform, a new platform for writing software.
- Web services.
- Microsoft Server Applications.
- New tools that use the new development platform.
- Hailstorm, the Passport centralized single-signon system that is being integrated into Windows XP.
Miguel de Icaza: Not at this point. We have a commitment to develop currently:
- A CLI runtime with a JITer for x86 CPUs.
- A C# compiler.
- A class library
All of the above with the help of external contributors. You have to understand that this is a big undertaking and that without the various people who have donated their time, expertise and code to the project we would not even have a chance of delivering a complete product any time soon.
We are doing this for selfish reasons: we want a better way of developing Linux and Unix applications ourselves and we see the CLI as such a thing.
That being said, Ximian being in the services and support business would not mind extending its effort towards making the Mono project tackle other things like porting to new platforms, or improving the JIT engine, or focusing on a particular area of Mono.
But other than this, we do not have plans at this point to go beyond the three basic announcements that we have made.
Dare Obasanjo: There are a number of other projects that are implementing other parts of .NET on Free platforms that seem to be have friction with the Mono project. Section 7.2 of Portable.NET's FAQ seems to indicate they have had conflict with the Mono project as does the banning of Martin Coxall from the dotGNU mailing list. What are your thoughts on this?
Miguel de Icaza: I did not pay attention to the actual details of the banning of Martin from the DotGNU mailing lists. Usenet and Internet mailing lists are a culture of their own and I think this is just another instance of what usually happens on the net. It is definitely sad.
The focus of Mono and .NET is slightly different: we are writing as much as we can in a high level language like C#, and writing reusable pieces of software out of it. Portable.NET is being written in C.
Dare Obasanjo: There have been conflicting reports about Ximian's relationship with Microsoft. On one hand there are reports that seem to indicate that there may be licensing problems between the license that will govern .NET and the GPL. On the other hand there is an indication that some within Microsoft are enthusiastic about Mono. So exactly what is Ximian's current relationship is with Microsoft and what will be done to ensure that Mono does not violate Microsoft's licenses on .NET if they turn out to be restrictive?
Miguel de Icaza: Well, for one we are writing everything from scratch.
We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques.
Dare Obasanjo: It has been pointed out that Sun retracted Java(TM) from standards processes at least twice, will the Mono project continue if .NET stops being an open standard for any reason?
Miguel de Icaza: The upgrade on our development platform has a value independently of whether it is a standard or not. The fact that Microsoft has submitted its specifications to a standards body has helped, since people who know about these problems have looked at the problem and can pin point problems for interoperability.
Dare Obasanjo: Similarly what happens if Dan Kusnetzky's prediction comes true and Microsoft changes the .NET APIs in the future? Will the Mono project play catchup or will it become an incompatible implementation of .NET on UNIX platforms?
Miguel de Icaza: Microsoft is remarkably good at keeping their APIs backwards compatible (and this is one of the reasons I think they have had so much success as a platform vendor). So I think that this would not be a problem.
Now, even if this was a problem, it is always possible to have multiple implementations of the same APIs and use the correct one by choosing at runtime the proper "assembly". Assemblies are a new way of dealing with software bundles and the files that are part of an assembly can be cryptographically checksummed and their APIs programmatically tested for compatibility. [Dare -- Description of Assemblies from MSDN gloassary]
So even if they deviate from the initial release, it would be possible to provide assemblies that are backwards compatible (we can both do that: Microsoft and ourselves)
Dare Obasanjo: Looking at the Mono class status page I noticed that a large number of .NET class libraries are not being implemented in Mono such as WinForms, ADO.NET, Web Services, XML schemas, reflection and a number of others. This means that it is very likely that when Mono and .NET are finally released apps written for .NET will not be portable to Mono. Is there any plan to rectify this in the future or is creating a portable .NET platform not a goal of the Mono project? Similarly what are the short and long term goals of the Mono project?
Miguel de Icaza: The status web page reflects the classes that people have "requested" to work on. The status web page is just a way of saying `Hey, I am working on this class as of this date' to avoid code duplication. If someone registers their interest in working on something and they do not do something after some period of time, then we can reclaim the class.
We are on the very early stages of the project, so you do see more work going on the foundational classes than on the end user classes.
I was not even expecting so many great and talented programmers to contribute so early in the project. My original prediction is that we would spend the first three months hacking on our own in public with no external contributions, but I have been proved wrong.
You have to realize that the goals of the Mono project are not only the goals of Ximian. Ximian has a set of goals, but every contributor to the project has his own goals: some people want to learn, some people like working on C#, some people want full .NET compatibility on Linux, some people want language independence, some people like to optimize code, some people like low level programming and some people want to compete with Microsoft, some people like the way .NET services work.
So the direction of the project is steered by those that contribute to it. Many people are very interested in having a compatible .NET implementation for non-Windows platforms, and they are contributing towards filling those gaps.
Dare Obasanjo: How does Ximian plan to pay for the costs of developing Mono especially after the failure of a number of recent venture funded, Free Software-based companies like Indrema, Eazel and Great Bridge and the fact that a sizable percentage of the remaining Free Software based companies are on the ropes? Specifically how does Ximian plan to make money at Free Software in general and Mono in particular?
Miguel de Icaza:Ximian provides support and services. We announced a few of our services recently, and more products and services have been on the pipeline for quite a while and would be announced during the next six months.
Those we announced recently are:
- Red Carpet Express: a subscription service for those who want a reliable high speed access to the Red Carpet servers.
- Red Carpet Corporate Connect: We modified our Red Carpet updater technology to help people manage networks of Linux workstations easily and to deploy and maintain custom software packages.
- Support and services for the GNOME desktop and Evolution: Our latest boxed products are our way of selling support services for the various products we ship.
The particular case of Mono is interesting. We are working on Mono to reduce our development costs. A very nice foundation has been laid and submitted to ECMA. Now, with the help of other interested parties that also realize the power of it, we are developing the Mono runtime and development tools to help us improve our productivity.
Indeed, the team working on Mono at Ximian is the same team that provided infrastructural help to the rest of the company in the past.
Dare Obasanjo: It is probably little known in some corners that you once interviewed with Microsoft to work on the SPARC port of Internet Explorer. Considering the impact you have had on the Free Software community since then, have you ever wondered what your life would have been like if you had become a Microsoft employee?
Miguel de Icaza: I have not given it a lot of thought, no. But I did ask everyone I interviewed at Microsoft to open source Internet Explorer, way before Netscape Communicator was Open Sourced ;-)
- APIs that are exposed to multiple languages.
-
Inline Review With Miguel De Icaza
Thanks to Dare Obasanjo for conducting this interview with [Miguel De Icaza], and sending it on to me. I've posted the interview below here - interesting answers, and very thorough. Well done, Dare.
Interview With Miguel de Icaza Bringing a component architecture to the UNIX platformSummary
By Dare (Carnage4Life) Obasanjo
In this interview, Miguel de Icaza, the founder of GNOME and Ximian, talks about UNIX components, Bonobo, Mono and .NET.Dare Obasanjo: You have recently been in the press due to Ximian's announcement that it shall create an Open Source implementation of Microsoft's .NET development platform. Before the recent furor you've been notable for the work you've done with GNOME and Bonobo. Can you give a brief overview of your involvement in Free Software from your earlier projects up to Mono?
Miguel de Icaza: I have been working for the past four years on the GNOME project in various areas: organization of it, libraries and applications. Before that I used to work on the Linux kernel, I worked for a long time on the SPARC port, then on the software raid and some on the Linux/SGI effort. Before that I had written the Midnight Commander file manager.
Dare Obasanjo: In your Let's Make Unix Not Suck series you mention that UNIX development has long been hampered by a lack of code reuse. You specifically mention Brad Cox's concept of Software Integrated Circuits, where software is built primarily by combining reusable components, as a vision of how code reuse should occur. Many have countered your arguments by stating that UNIX is built on the concept of using reusable components to build programs by connecting the output of smaller programs with pipes. What are your opinions of this counter-argument?
Miguel de Icaza: Well, the paper addresses that question in detail. A `pipe' is hardly a complete component system. It is a transport mechanism that is used with some well known protocols (lines, characters, buffers) to process information. The protocol only has a flow of information.
Details are on the paper:
http://primates.ximian.com/~miguel/bongo-bong.html [Dare -- check the section entitled "Unix Components: Small is Beautiful"]Dare Obasanjo: Bonobo was your attempt to create a UNIX component architecture using CORBA as the underlying base. What are the reasons you have decided to focus on Mono instead?
Miguel de Icaza: The GNOME project goal was to bring missing technologies to Unix and make it competitive in the current market place for desktop applications. We also realized early on that language independence was important, and that is why GNOME APIs were coded using a standard that allowed the APIs to be easily wrapped for other languages. Our APIs are available to most programming languages on Unix (Perl, Python, Scheme, C++, Objective-C, Ada).
Later on we decided to use better methods for encapsulating our APIs, and we started to use CORBA to define interfaces to components. We complemented it with policy and a set of standard GNOME interfaces for easily creating reusable, language independent components, controls and compound documents. This technology is known as Bonobo. Interfaces to Bonobo exist for C, Perl, Python, and Java.
CORBA is good when you define coarse interfaces, and most Bonobo interfaces are coarse. The only problem is that Bonobo/CORBA interfaces are not good for small interfaces. For example, an XML parsing Bonobo/CORBA component would be inefficient compared to a C API.
I also wrote at some point:My interest in .NET comes from the attempts that we have made before in the GNOME project to achieve some of the things .NET does:
- APIs that are exposed to multiple languages.
- Cross-language integration.
- Contract/interface based programming.
And on top of things, I always loved various things about Java. I just did not love the Java combo that you were supposed to give or take.
APIs exposed to many languages we tried by having a common object base (GtkObject) and then following an API contract and a format that would allow others to wrap the APIs easily for their programming language. We even have a Scheme-based definition of the API that is used to generate wrappers on the fly. This solution is suboptimal for many reasons.
The Cross-language integration we have been doing with CORBA, sort of like COM, but with an imposed marshalling penalty. It works pretty well for non inProc components. But for inProc components the story is pretty bad: since there was no CORBA ABI that we could use, the result is so horrible, that I have no words to describe it.
On top of this problem, we have a proliferation of libraries. Most of them follow our coding conventions pretty accurately. Every once in a while they either wont or we would adopt a library written by someone else. This had lead to a mix of libraries that although powerful in result implement multiple programming models, sometimes different allocation and ownership policies and after a while you are dealing with 5 different kind of "ref/unref" behaviours (CORBA local references, CORBA object references on Unknown objects, reference count on object wrappers) and this was turning into a gigantic mess.
We have of course been trying to fix all these issues, and things are looking better (the GNOME 2.x platform does solve many of these issues, but still).
.NET seemed to me like an upgrade for Win32 developers: they had the same problems we had when dealing with APIs that have been designed over many years, a great deal of inconsistency. So I want to have some of this new "fresh air" available for building my own applications.
Dare Obasanjo: Bonobo is slightly based on COM and OLE2 as can be gleaned from the fact that Bonobo interfaces are all based on the Bonobo::Unknown interface which provides two basic services: object lifetime management and object functionality-discovery and only contains three methods:
which is very similar to Microsoft's COM IUnknown interface which has the following methodsmodule Bonobo { interface Unknown { void ref (); void unref (); Object query_interface (in string repoid); }; };
Does the fact that .NET seems to spell the impending death of COM mean that Mono will spell the end of of Bonobo? Similarly considering that .NET plans to have semi-transparent COM/.NET interoperability, is there a similar plan for Mono and Bonobo?HRESULT QueryInterface(REFIID riid, void **ppvObject); ULONG AddRef(); ULONG Release();Miguel de Icaza: Definetly. Mono will have to interoperate with a number of systems out there including Bonobo on GNOME.
Dare Obasanjo: A number of parties have claimed that Microsoft's NET platform is a poor clone of the Java(TM) platform. If this is the case why hasn't Ximian decided to clone or use the Java platform instead of cloning Microsoft's .NET platform?
Miguel de Icaza: We were interested in the CLR because it solves a problem that we face every day. The Java VM did not solve this problem.
Dare Obasanjo: On the Mono Rationale page it is pointed out that Microsoft's .NET strategy encompasses many efforts including
- The .NET development platform, a new platform for writing software.
- Web services.
- Microsoft Server Applications.
- New tools that use the new development platform.
- Hailstorm, the Passport centralized single-signon system that is being integrated into Windows XP.
Miguel de Icaza: Not at this point. We have a commitment to develop currently:
- A CLI runtime with a JITer for x86 CPUs.
- A C# compiler.
- A class library
All of the above with the help of external contributors. You have to understand that this is a big undertaking and that without the various people who have donated their time, expertise and code to the project we would not even have a chance of delivering a complete product any time soon.
We are doing this for selfish reasons: we want a better way of developing Linux and Unix applications ourselves and we see the CLI as such a thing.
That being said, Ximian being in the services and support business would not mind extending its effort towards making the Mono project tackle other things like porting to new platforms, or improving the JIT engine, or focusing on a particular area of Mono.
But other than this, we do not have plans at this point to go beyond the three basic announcements that we have made.
Dare Obasanjo: There are a number of other projects that are implementing other parts of .NET on Free platforms that seem to be have friction with the Mono project. Section 7.2 of Portable.NET's FAQ seems to indicate they have had conflict with the Mono project as does the banning of Martin Coxall from the dotGNU mailing list. What are your thoughts on this?
Miguel de Icaza: I did not pay attention to the actual details of the banning of Martin from the DotGNU mailing lists. Usenet and Internet mailing lists are a culture of their own and I think this is just another instance of what usually happens on the net. It is definitely sad.
The focus of Mono and .NET is slightly different: we are writing as much as we can in a high level language like C#, and writing reusable pieces of software out of it. Portable.NET is being written in C.
Dare Obasanjo: There have been conflicting reports about Ximian's relationship with Microsoft. On one hand there are reports that seem to indicate that there may be licensing problems between the license that will govern .NET and the GPL. On the other hand there is an indication that some within Microsoft are enthusiastic about Mono. So exactly what is Ximian's current relationship is with Microsoft and what will be done to ensure that Mono does not violate Microsoft's licenses on .NET if they turn out to be restrictive?
Miguel de Icaza: Well, for one we are writing everything from scratch.
We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques.
Dare Obasanjo: It has been pointed out that Sun retracted Java(TM) from standards processes at least twice, will the Mono project continue if .NET stops being an open standard for any reason?
Miguel de Icaza: The upgrade on our development platform has a value independently of whether it is a standard or not. The fact that Microsoft has submitted its specifications to a standards body has helped, since people who know about these problems have looked at the problem and can pin point problems for interoperability.
Dare Obasanjo: Similarly what happens if Dan Kusnetzky's prediction comes true and Microsoft changes the .NET APIs in the future? Will the Mono project play catchup or will it become an incompatible implementation of .NET on UNIX platforms?
Miguel de Icaza: Microsoft is remarkably good at keeping their APIs backwards compatible (and this is one of the reasons I think they have had so much success as a platform vendor). So I think that this would not be a problem.
Now, even if this was a problem, it is always possible to have multiple implementations of the same APIs and use the correct one by choosing at runtime the proper "assembly". Assemblies are a new way of dealing with software bundles and the files that are part of an assembly can be cryptographically checksummed and their APIs programmatically tested for compatibility. [Dare -- Description of Assemblies from MSDN gloassary]
So even if they deviate from the initial release, it would be possible to provide assemblies that are backwards compatible (we can both do that: Microsoft and ourselves)
Dare Obasanjo: Looking at the Mono class status page I noticed that a large number of .NET class libraries are not being implemented in Mono such as WinForms, ADO.NET, Web Services, XML schemas, reflection and a number of others. This means that it is very likely that when Mono and .NET are finally released apps written for .NET will not be portable to Mono. Is there any plan to rectify this in the future or is creating a portable .NET platform not a goal of the Mono project? Similarly what are the short and long term goals of the Mono project?
Miguel de Icaza: The status web page reflects the classes that people have "requested" to work on. The status web page is just a way of saying `Hey, I am working on this class as of this date' to avoid code duplication. If someone registers their interest in working on something and they do not do something after some period of time, then we can reclaim the class.
We are on the very early stages of the project, so you do see more work going on the foundational classes than on the end user classes.
I was not even expecting so many great and talented programmers to contribute so early in the project. My original prediction is that we would spend the first three months hacking on our own in public with no external contributions, but I have been proved wrong.
You have to realize that the goals of the Mono project are not only the goals of Ximian. Ximian has a set of goals, but every contributor to the project has his own goals: some people want to learn, some people like working on C#, some people want full .NET compatibility on Linux, some people want language independence, some people like to optimize code, some people like low level programming and some people want to compete with Microsoft, some people like the way .NET services work.
So the direction of the project is steered by those that contribute to it. Many people are very interested in having a compatible .NET implementation for non-Windows platforms, and they are contributing towards filling those gaps.
Dare Obasanjo: How does Ximian plan to pay for the costs of developing Mono especially after the failure of a number of recent venture funded, Free Software-based companies like Indrema, Eazel and Great Bridge and the fact that a sizable percentage of the remaining Free Software based companies are on the ropes? Specifically how does Ximian plan to make money at Free Software in general and Mono in particular?
Miguel de Icaza:Ximian provides support and services. We announced a few of our services recently, and more products and services have been on the pipeline for quite a while and would be announced during the next six months.
Those we announced recently are:
- Red Carpet Express: a subscription service for those who want a reliable high speed access to the Red Carpet servers.
- Red Carpet Corporate Connect: We modified our Red Carpet updater technology to help people manage networks of Linux workstations easily and to deploy and maintain custom software packages.
- Support and services for the GNOME desktop and Evolution: Our latest boxed products are our way of selling support services for the various products we ship.
The particular case of Mono is interesting. We are working on Mono to reduce our development costs. A very nice foundation has been laid and submitted to ECMA. Now, with the help of other interested parties that also realize the power of it, we are developing the Mono runtime and development tools to help us improve our productivity.
Indeed, the team working on Mono at Ximian is the same team that provided infrastructural help to the rest of the company in the past.
Dare Obasanjo: It is probably little known in some corners that you once interviewed with Microsoft to work on the SPARC port of Internet Explorer. Considering the impact you have had on the Free Software community since then, have you ever wondered what your life would have been like if you had become a Microsoft employee?
Miguel de Icaza: I have not given it a lot of thought, no. But I did ask everyone I interviewed at Microsoft to open source Internet Explorer, way before Netscape Communicator was Open Sourced ;-)
- APIs that are exposed to multiple languages.
-
Microsoft's Vision For Future Operating Systems
Bender writes: "The Systems and Networking group at Microsoft Research has a fascinating article that details what sorts of things they believe may be important in Operating Systems of the 21st century." -
Languages vs. Platforms?
andyfsu99 inputs: "Recently I've noticed the increasing confusion between Java the language and Java the platform. Recruiters and project managers routinely ask for a numeric "rating" of a developer's Java skills. Do they mean Java the language (OO concepts, syntax, libraries, etc)? Or Java the platform (EJB, JCA, JSP, etc)? How do you answer this question? Clearly, Sun is pushing the platform definition. How will this effect the evolution of emerging techologies like C# and .NET? Will major new languages be forever coupled with platforms moving forward?" -
Languages vs. Platforms?
andyfsu99 inputs: "Recently I've noticed the increasing confusion between Java the language and Java the platform. Recruiters and project managers routinely ask for a numeric "rating" of a developer's Java skills. Do they mean Java the language (OO concepts, syntax, libraries, etc)? Or Java the platform (EJB, JCA, JSP, etc)? How do you answer this question? Clearly, Sun is pushing the platform definition. How will this effect the evolution of emerging techologies like C# and .NET? Will major new languages be forever coupled with platforms moving forward?" -
Microsoft Research Turns 10
Alec Muzzy writes: "Did you know that Microsoft Research, the first research laboratory started by a software company, just turned 10 years old? Their website is currently featuring some highlights of their research in the past 10 years and how it is applying to the new products Microsoft is making today - for instance their work in Real-Time Fur will be used in some XBox games, and Speech Recognition may be in future Pocket PC's. Reading these pages gives you a real insight into what new technologies Microsoft is working on." -
Microsoft Research Turns 10
Alec Muzzy writes: "Did you know that Microsoft Research, the first research laboratory started by a software company, just turned 10 years old? Their website is currently featuring some highlights of their research in the past 10 years and how it is applying to the new products Microsoft is making today - for instance their work in Real-Time Fur will be used in some XBox games, and Speech Recognition may be in future Pocket PC's. Reading these pages gives you a real insight into what new technologies Microsoft is working on." -
Microsoft Research Turns 10
Alec Muzzy writes: "Did you know that Microsoft Research, the first research laboratory started by a software company, just turned 10 years old? Their website is currently featuring some highlights of their research in the past 10 years and how it is applying to the new products Microsoft is making today - for instance their work in Real-Time Fur will be used in some XBox games, and Speech Recognition may be in future Pocket PC's. Reading these pages gives you a real insight into what new technologies Microsoft is working on." -
Will Open Source Lose the Battle for the Web?
snotty writes "A well written article by Ganesh Prasad over at linuxtoday arguing that the shift towards web services has reduced the attractiveness of the current generation of Open Source web products. He talks about the market share decrease in Apache. Also mentions how .NET, Microsoft, Sun, Java, and Open Source Software fit into the picture." I think that the decrease in Apache's share is a red herring, but the bigger picture of web services is a troubling one. -
Will Open Source Lose the Battle for the Web?
snotty writes "A well written article by Ganesh Prasad over at linuxtoday arguing that the shift towards web services has reduced the attractiveness of the current generation of Open Source web products. He talks about the market share decrease in Apache. Also mentions how .NET, Microsoft, Sun, Java, and Open Source Software fit into the picture." I think that the decrease in Apache's share is a red herring, but the bigger picture of web services is a troubling one. -
Code Red: the Aftermath
LiquidPC writes: "Microsoft has released a tool to help clean up the effects of the Code Red II. It removes the files and mappings installed by the worm, and reboots your system; it also gives you an option to permanantly disable IIS." So, Microsoft has given you a mop to clean up the mess they made. Start mopping! If you're not the one infected, just tired of seeing your Apache logs fill up, you might see this page. -
Windows XP To Block Use Of "Troublesome" Drivers
Johnno74 writes "According to this story on The Register, Windows XP rc2 now includes the ability for Microsoft to prevent users from installing certain device drivers. Sounds like a good idea? Well, apparently among the casualties are ZoneAlarm and BlackIce... Two popular free personal firewall products for windows. Guess What? XP includes its own firewall ... So you don't really need then anyway, right? The full details on how this works are in this 1mb word document on Microsoft's site.The document details how XP will automatically download the latest drivers for your hardware from the windows update site, and more worringly, XP will reguarly update the list of blocked drivers from the site. Quote from the document:
   "On a related note, Windows XP provides the ability for Microsoft to receive crash dump data on specific drivers (i.e. when a user receives a blue screen, we upload that information for further analysis). When Microsoft reporting systems indicate crashes have exceeded a certain threshold, Microsoft will notify the Vendor that the device is being considered for the blocked driver list. If reports pass an even greater threshold, we will then flag that specific version of the driver as needing to be blocked."Boy, The site that uploads that crash dump data (and whatever else it snags...) better have a lot of bandwidth... ;-) As The Register points out, this brings back memories of how Microsoft killed Caldera DR-DOS by deliberately crashing Windows 3.1 if you were running on DR-DOS -- for no reason other than forcing you to use MS-DOS."
Note: according to this article, the change does not prevent Black Ice or other programs from running per se -- but it does require them to use updated versions tailored for XP.
-
Windows XP To Block Use Of "Troublesome" Drivers
Johnno74 writes "According to this story on The Register, Windows XP rc2 now includes the ability for Microsoft to prevent users from installing certain device drivers. Sounds like a good idea? Well, apparently among the casualties are ZoneAlarm and BlackIce... Two popular free personal firewall products for windows. Guess What? XP includes its own firewall ... So you don't really need then anyway, right? The full details on how this works are in this 1mb word document on Microsoft's site.The document details how XP will automatically download the latest drivers for your hardware from the windows update site, and more worringly, XP will reguarly update the list of blocked drivers from the site. Quote from the document:
   "On a related note, Windows XP provides the ability for Microsoft to receive crash dump data on specific drivers (i.e. when a user receives a blue screen, we upload that information for further analysis). When Microsoft reporting systems indicate crashes have exceeded a certain threshold, Microsoft will notify the Vendor that the device is being considered for the blocked driver list. If reports pass an even greater threshold, we will then flag that specific version of the driver as needing to be blocked."Boy, The site that uploads that crash dump data (and whatever else it snags...) better have a lot of bandwidth... ;-) As The Register points out, this brings back memories of how Microsoft killed Caldera DR-DOS by deliberately crashing Windows 3.1 if you were running on DR-DOS -- for no reason other than forcing you to use MS-DOS."
Note: according to this article, the change does not prevent Black Ice or other programs from running per se -- but it does require them to use updated versions tailored for XP.
-
AOL Desktops On New PCs
mickeyreznor writes: "I came across this interesting article in the Washington Post. Apparently AOL is trying to pull the same kind of stunts that got Microsoft in trouble with the DOJ. I'm not sure where I stand on this whole issue, but it seems to be a very interesting situation. Seems like we're going to have an all-out corporate war in the upcoming months." With news that the number of internet users is shrinking, AOL needs a way to bring in new subscribers -- and the DOJ's pressure on Microsoft appears to have opened a door. -
Microsoft Releases Windows CE 3.0 Source
marquise2000 writes: "You can now check out what Microsoft's 'Shared Source' idea is worth. They released the source to the Windows CE 3.0 Core OS yesterday night, see this page. You need a Microsoft Passport to get behind the registration. A hotmail account will do (no matter how much spam you have in your inbox)."If you haven't yet taken a look at Microsoft's "Shared Source License," this is a good time: contrast the restrictions on use and redistribution to the clauses on those things in the GPL.
Interesting that Microsoft should denigrate Free Software licenses as pathogenic but require that anyone who redistributes the software as source under their new "broader" license "include a complete copy of this License with your distribution." That license includes a provision 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."
But since you may not distribute the licensed Microsoft code "in source or object form for commercial purposes under any circumstances," nor use it to run a business, it may be unlikely that such a suit would arise. All in all, I'm not sure who besides companies selling Win CE hardware or software will benefit from this "sharing."
However, if you ever intend to work on any Open Source programming project which might involve similar code, you might want to think twice about downloading any code under the provisions Microsoft lists here: a simple database query can establish whether "Yourname Lastname" had access to the Microsoft-owned code, which could result in legal problems down the road. Even if you never look at the downloaded code, the electronic trail will look like you did -- which is perhaps the most insidious aspect of this version of sharing.
-
Microsoft Releases Windows CE 3.0 Source
marquise2000 writes: "You can now check out what Microsoft's 'Shared Source' idea is worth. They released the source to the Windows CE 3.0 Core OS yesterday night, see this page. You need a Microsoft Passport to get behind the registration. A hotmail account will do (no matter how much spam you have in your inbox)."If you haven't yet taken a look at Microsoft's "Shared Source License," this is a good time: contrast the restrictions on use and redistribution to the clauses on those things in the GPL.
Interesting that Microsoft should denigrate Free Software licenses as pathogenic but require that anyone who redistributes the software as source under their new "broader" license "include a complete copy of this License with your distribution." That license includes a provision 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."
But since you may not distribute the licensed Microsoft code "in source or object form for commercial purposes under any circumstances," nor use it to run a business, it may be unlikely that such a suit would arise. All in all, I'm not sure who besides companies selling Win CE hardware or software will benefit from this "sharing."
However, if you ever intend to work on any Open Source programming project which might involve similar code, you might want to think twice about downloading any code under the provisions Microsoft lists here: a simple database query can establish whether "Yourname Lastname" had access to the Microsoft-owned code, which could result in legal problems down the road. Even if you never look at the downloaded code, the electronic trail will look like you did -- which is perhaps the most insidious aspect of this version of sharing.
-
Challenging The OEMs on Java
There's a great Dan Gillmor article, from his blog [?] regarding the challenge issued by Tim O'Reilly and Clay Shirky to the computer OEMs, asking them to include the latest Java JRE. As Microsoft has said they won't be including Java in WinXP, but are cool with "letting" OEMs put in other programs, let's see the manufacturers strike a blow for competition, and compatibility, and including a non-"extended and embraced" JRE. -
Microsoft to Change OEM Licensing
IdleMindUI writes: "According to this article on MSNBC, OEMs will now have the option of adding products to or removing products from the windows desktop. Earlier licensing agreements prohibited OEMs from changing the windows desktop. "Reserving its harshest criticism for this practice, the court said Microsoft used its power to illegally maintain a monopoly by pushing potential competitors off the computer desktop, considered to be the prime real estate of new computers."" Microsoft's press release has more information on what Microsoft will and will not permit OEM's to do. -
Microsoft and the U.S. School System
4/3PI*R^3 has the dubious honor of being the first of dozens of submissions: "Salon has a story on how Microsoft is bullying cash strapped school districts into purchasing "compliant" licenses for Microsoft software. Best quote from the story concerning financial problems of education and the added burden that Microsft is placing on them: "It's kind of like AIDS in Africa and the drug companies," Kowalski says. "Can anyone expect a dying person to be concerned about the drug companies' profits?"" It seems silly to bitch about this - work at getting schools to use Free and free software instead. -
How Do BSA Raids Work?
The Alchemist asks: "So I'm reading the Newsforge commentary on the newest Microsoft and Business Software Alliance (BSA) threat letters here, and I'm wondering: 'Has anyone been through these things?' How do they (the BSA officials) conduct themselves? Are the local authorities involved? Do they even bother with a warrant? Has anyone been found in compliance with this private Microsoft police force, other than the Mexican Firm that's suing them?" For a software licensing organization how does the BSA pull off things like this? Do they have any ties with law enforcement? Of course, the more you know about how the BSA works, the better off you will be in preventing your company from receiving an unexpected visit. It's 2001: do you know where all of your software licenses are? -
.NET has Open Source Competition
-
.NET has Open Source Competition
-
Microsoft and the GPL
rleyton wrote in to tell us about yet another Microsoft related GPL story. He says "The Linux Journal has an interesting article analysing why Microsoft is attacking the GPL. It makes for interesting reading, and ends with a comment on the possibility that Microsoft will be seeking to pursuade the U.S. Government to forbid distribution of federally funded software under the GPL." -
MSDN Subscriber Forced to use Passport
alandd writes "As a Microsoft Developer Network (MSDN) member, I just recieved the email below notifying me in order to get special developer downloads, I will have to have a Microsoft Passport account. Passport stores all your private info to share with one click among other sites. Past articles have mentioned some since removed draconian terms of use and there have also been reports of security breaches in the past. Now MS is requiring the technically savy to sign up. I don't want to but my job requirements and MS give me no choice!" No your honor we're not a monopoly. We just use our market share to force people to adopt each of our new products. Click on to read the emailDear MSDN subscriber,
MSDN® Subscriptions is pleased to announce that the MSDN Subscriber Download Web site at http://msdn.microsoft.com/subscriptions/resources/ subdwnld.asp will soon be upgrading its logon authentication technology to Microsoft® Passport.
Microsoft Passport provides personal authentication services that make it easier for you to navigate between Web sites, and makes it faster and more secure for you to make purchases online.
Beginning in late June, the MSDN Subscriber Download Web site will prompt you to sign up for your personal Passport and associate your current subscriber record to this Passport. After signing up, access to MSDN Subscriber Downloads will be easier, faster, and more secure.
For complete details, and to sign up now for your free Microsoft Passport, please visit http://www.passport.com.
Sincerely,
The MSDN Subscriptions Team
http://msdn.microsoft.com/subscriptions
CT: So, if you want to write code under windows, you must use Passport. Or not use MSDN. And lets face it, if you develop under windows, you must buy MSs tools, and you sure can't use those tools without their docs. Times like this I just sorta throw my hands up in the air and say wow. How long before MSNBC requires it? Windows? IE? Your Visa company works with Microsoft Money, so you can bet that sooner or later, you'll need passport to balance your checkbook and credit cards. Paranoid delusion? Of course not. Windows XP will link my complaints to all sorts of helpful sources of information on medication that can be used to calm my delusions, or the numerous sites that exist to mock me or slashdot, thus undermining my credibility and making me seem like a crazy man to any onlooker.
Ok, I'm obviously exagerating. But you still gotta be a little wary.
-
MSDN Subscriber Forced to use Passport
alandd writes "As a Microsoft Developer Network (MSDN) member, I just recieved the email below notifying me in order to get special developer downloads, I will have to have a Microsoft Passport account. Passport stores all your private info to share with one click among other sites. Past articles have mentioned some since removed draconian terms of use and there have also been reports of security breaches in the past. Now MS is requiring the technically savy to sign up. I don't want to but my job requirements and MS give me no choice!" No your honor we're not a monopoly. We just use our market share to force people to adopt each of our new products. Click on to read the emailDear MSDN subscriber,
MSDN® Subscriptions is pleased to announce that the MSDN Subscriber Download Web site at http://msdn.microsoft.com/subscriptions/resources/ subdwnld.asp will soon be upgrading its logon authentication technology to Microsoft® Passport.
Microsoft Passport provides personal authentication services that make it easier for you to navigate between Web sites, and makes it faster and more secure for you to make purchases online.
Beginning in late June, the MSDN Subscriber Download Web site will prompt you to sign up for your personal Passport and associate your current subscriber record to this Passport. After signing up, access to MSDN Subscriber Downloads will be easier, faster, and more secure.
For complete details, and to sign up now for your free Microsoft Passport, please visit http://www.passport.com.
Sincerely,
The MSDN Subscriptions Team
http://msdn.microsoft.com/subscriptions
CT: So, if you want to write code under windows, you must use Passport. Or not use MSDN. And lets face it, if you develop under windows, you must buy MSs tools, and you sure can't use those tools without their docs. Times like this I just sorta throw my hands up in the air and say wow. How long before MSNBC requires it? Windows? IE? Your Visa company works with Microsoft Money, so you can bet that sooner or later, you'll need passport to balance your checkbook and credit cards. Paranoid delusion? Of course not. Windows XP will link my complaints to all sorts of helpful sources of information on medication that can be used to calm my delusions, or the numerous sites that exist to mock me or slashdot, thus undermining my credibility and making me seem like a crazy man to any onlooker.
Ok, I'm obviously exagerating. But you still gotta be a little wary.
-
Microsoft EULA stokes crusade
Microsoft's new crusade against licenses that enforce source-code sharing has reached the EULA of their Mobile Internet Toolkit. It even disallows the use of any "Publicly Available Software" tool in the production of software using this SDK. This seems to be a very wide ranging restriction applying to compilers (gcc), editors (vim, staroffice), filesystems (backup on linux server), web-browsers (mozilla logging into some online tool provider), Java (sun's virtual machine). The licenses covered include: the GPL and LGPL, the Artistic License (e.g., PERL), the Mozilla Public License, the Netscape Public License, the Sun Community Source License (SCSL), and the Sun Industry Standards License (SISL). Is this legal? Thanks to Jonathan for the link. Update: 06/26 05:42 PM by S : Here's a legal opinion on the matter. -
No XP-Smarttags in Europe
nils23 writes "There's a story on heise.de that says that M$ won't include their SmartTags (tm - probably...) in the European release of Windows eXPerimental.. The reason is not, they claim, any privacy or Anti-Trust issues, but the problem of maintaining the content/links to Microsoft. It's in german. Use the fish, Luke." I'd be fine with this if they only did it on pages that included a tag that said the author of the page approved the feature. I for one don't want Microsoft choosing where links on a Slashdot story go. Imagine what links they could choose for words like Linux or the GPL. Think I'm kidding? -
No XP-Smarttags in Europe
nils23 writes "There's a story on heise.de that says that M$ won't include their SmartTags (tm - probably...) in the European release of Windows eXPerimental.. The reason is not, they claim, any privacy or Anti-Trust issues, but the problem of maintaining the content/links to Microsoft. It's in german. Use the fish, Luke." I'd be fine with this if they only did it on pages that included a tag that said the author of the page approved the feature. I for one don't want Microsoft choosing where links on a Slashdot story go. Imagine what links they could choose for words like Linux or the GPL. Think I'm kidding? -
Microsoft Gets XBox Name
chewy_fruit_loop writes "The humorous situation Microsoft found itself in a few months ago regarding the X-Box name already belonging to someone, has been settled. The BBC are reporting it here ,and XBox Technologies have this press release. I wonder how much that cost Microsoft ;-)" Apparently The corporation formerly known as XBox is located like a half hour from here. Congrats guys! I expect to see you in shiny ferarris sometime soon. -
"Smart Tags," Round Two
A few more stories about "Smart Tags" (see round 1 if you missed it) -- Liza writes: "According to Newsbytes, a new feature in IE 6.0, "Smart Tags," which inserts hyperlinks into pages so that users can get more information about a concept or company, could violate both copyright law and federal rules prohibiting deceptive and unfair business practices. Microsoft says site operators could insert a metatag disabling Smart Tags, so concerned publishers could avoid them. Interesting questions!" Meanwhile, ZDNet has a nice piece examining smart tags in action. -
RMS Says Free Software Is Good
A few city blocks and many philosophical lightyears away from the New York University auditorium where Microsoft Senior Vice President Craig Mundie extolled the virtues of proprietary software a few weeks ago, Richard M. Stallman spoke this morning instead on the reasons that software developers, CEOs and every citizen whatsoever should prefer the Free software movement's methods and results. Stallman, founder of the GNU Project and the Free Software Foundation, said a lot of things that he's been saying since 1984, but also threw in some zingers aimed at Microsoft's recent public criticism of open development models. Update: 05/30 01:56 PM by T : Correction: I incorrectly reported in the story below that David Touretzky of CMU introduced Richard Stallman at this speech; in fact, it was Mike Uretsky, Administrative Director of NYU's Center For Advanced Technologies (CAT) and professor in the Stern School of Business; the text below reflects this. With many apologies to both professors and to readers, timothy. (Read more.)NYU Information Systems chairman Mike Uretsky and NYU computer science professor Edmond Schonberg briefly introduced Stallman to a standing-room-only crowd at NYU's Courant Mathematical Institute.
Stallman drew laughter and applause during Uretsky's introduction by calling out "I do Free software, Open Source is a different crowd" when Uretsky made a reference to Open Source software. Rather than a point-by-point rebuttal of Mundie's speech advocating Microsoft's current "shared source" initiative, Stallman's speech presented both an overview of the Free software movement -- several times emphasizing how it differs from the more pragmatic Open Source movement -- and a defense of Free software at several levels. Though peppered with jokes and historical asides, the bulk of Stallman's talk was devoted to explaining the benefits of Free software and comparing community-based, non-proprietary software development to the "deliberately inflicted waste" of proprietary software.
The publicity that Mundie's speech has stirred up around software licensing is obviously not forgotten, though. Stallman began by saying "I'd like to thank Microsoft for providng me the opportunity to use this platform. For the last few weeks I've felt like an author whose book was fortuitously banned somewhere, but all the articles about it are giving the wrong author's name, because Microsoft describes our license as an 'Open Source' license." Stallman emphasized at several points that the approach he and GNU project have is at its core philosophical, not merely pragmatic.
Beginning with cooking rather than computers, Stallman pointed out the advantages of being able to share functional documents in the form of recipes. He pointed that while nearly everyone cooks, "unless you're great, you probably use recipes. You've probably had the experience of getting a recipe from a friend -- and unless you're a total neophyte, you probably have also had the experience of changing the recipe. If you've made changes and you make it for your friends, and they like it, you can write down your changes for them." Imagine, he said, if recipes were packaged in black boxes, unavailable for inspection.
Stallman named the qualities he uses to define Free software. He began with "freedom zero" -- the freedom to run the software for any purpose -- noting, "If you're not even free to run the software for anything you want, it's a pretty damn restrictive license."
He went on to describe three additional freedoms which distinguish Free from proprietary software: the right to change software to suit user needs; to redistribute the software; and to publish improved versions.
These freedoms are absent in proprietary software, Stallman said, and cited what he said was his first taste to the evils of non-disclosure statements, which took place while he was working as an operating system developer at MIT's Artificial Intelligence Laboratory.
Stallman knew of a computer scientist at Carnegie-Mellon University with a copy of the Xerox source, and asked for a copy in order to add this feature. He found his request was denied, because his fellow academic had signed a non-disclosure agreement.
"He had refused to cooperate with just about the the entire population of the planet Earth, because he had signed an non-disclosure agreement. This was my first encounter with a non-disclosure agreement, and I was the victim -- my lab and I were the victims. The lesson it taught me is that NDAs have victims, they aren't harmless."
Toward the close of his speech, Stallman pointedly applied the advantages of Free software to businesses, giving examples of ways in which a community of more than 100,000 developers leads to more robust and maintainable software, all issues of price aside.
Describing his experiences after releasing GNU-Emacs in 1984, Stallman said "I got a msg that said 'I think I saw a bug, and here's a fix.'" Others emailed him with new feature requests and bug reports, and in many cases, the code to implement an improved version, "until they were pouring in on my so fast that just making use of the information I was getting was a big job. Microsoft doesn't have this problem."
The iterative, inclusive software development process resulted in constantly improving code for the GNU Project's various pieces of software, said Stallman. "What people began to note around 1990 was that our SW was better -- it was more powerful than the proprietary alternatives."
Since that time (before the Linux kernel was developed and employed alongside many GNU utilities), Free and Open Source software has increased dramatically in use and public acceptance.
Citing the large number of companies now paying to develop Free software, and that the majority of pages on the World Wide Web are served with Apache running on GNU/Linux systems, Stallman scoffed at claims that the GPL was unfriendly to business. "Microsoft says that busineses can't get along with the GPL. So if businesses don't include IBM, and HP, and Sun, then maybe they're right."
Addressing one persistent myth, Stallman said "It's not true, sometimes I wish it was true, that if a company uses GPL in any project, that the whole project has to be GPLd. If programs operate at arms' length from each other, then they're legally separate, in general."
Again, though, Stallman was careful to point out that the advantages and intent of Free software had more to do with ethics and social good in a variety of fields than any particular bottom line. Closed software, he said, "causes psychosocial harm which affects the spirit of scientific cooperation. Progress in science crucially depends on people being able to work together. Nowadays you see scientists act as if they're in gangs at war with other little gangs of scientists ... we're all held back." And not just scientists -- of anyone who uses computers in the workplace, Stallman said that in the absence of a broad right to modify and improve the software they use, "Their lives and jobs are going to be frustrating -- people protect themselves from frustration by deciding not to care. When this happens, it's bad for those people and for society as a whole."
-
Stallman To Respond To Mundie Tuesday
Sheetrock writes: "According to a press release from the Free Software Foundation, Richard M. Stallman will be delivering a speech entitled "Free Software: Freedom and Cooperation" at the New York University campus at 10:00AM on Tuesday, May 29, 2001. This speech is expected to counterbalance the one given at the university earlier this month by Craig Mundie of Microsoft (entitled "The Commercial Software Model"). Hopefully, this will get OGGed like some of RMS's other speeches so that those of us who can't attend will still get to listen to his rebuttal." Both Free and Open to the public. -
Stallman To Respond To Mundie Tuesday
Sheetrock writes: "According to a press release from the Free Software Foundation, Richard M. Stallman will be delivering a speech entitled "Free Software: Freedom and Cooperation" at the New York University campus at 10:00AM on Tuesday, May 29, 2001. This speech is expected to counterbalance the one given at the university earlier this month by Craig Mundie of Microsoft (entitled "The Commercial Software Model"). Hopefully, this will get OGGed like some of RMS's other speeches so that those of us who can't attend will still get to listen to his rebuttal." Both Free and Open to the public. -
Microsoft's GPL IPv6 Web Server. Not Really.
So, quite a number of people have submitted this hideously poorly titled story that talks about a GPLed IPv6 Web Server that's on Microsoft.com. A number of people thought it means everything will be GPLed starting this afternoon - it's their research server called Fnord!. Now, please stop submitting it *grin* -
Windows XP and Incompatibilities with Multi-Booting?
Morgan asks: " Windows XP (Whistler) won't boot from disks with MBR partition tables, requiring a new GUID Partition Table (GPT). It will still read and write MBR disks. In a cursory search, I find no work to support GPT with LILO or other multi-booting Linux loaders. I'm a 'one OS, one disk' man, especially since disks are so cheap, but what about those who aren't handy with a screwdriver (and an IDE cable)? An easily installable Linux distro that shrinks the Windows partition, but allows multi-booting without requiring a re-install of Windows is a great Trojan horse: 'here, try this real OS, but if you don't like it, or you need a particular app, you can always boot Windows.' Will GPT make this harder?" What reasoning was behind the move to GPT? By making Whistler incompatible with the standard MBR, this could be seen by many as another move to stifle competition in the PC market. How do you feel about it? -
Shared Source?
jmt(tm) sends in Microsoft's shared source webpage, and their FAQ. An AC sends in a LinuxToday story and shared-source.com. Discuss. -
Shared Source?
jmt(tm) sends in Microsoft's shared source webpage, and their FAQ. An AC sends in a LinuxToday story and shared-source.com. Discuss. -
YA Microsoft Linux Screed
"Microsoft Windows has better security than Linux out of the box" is my favorite line -- but there are many other good ones, find them and trade them with your friends -- in the polemic "Linux in Retail and Hospitality." This is actually from February apparently, but c't and LinuxToday have called attention to it. If you don't feel like reading their .doc file (I'm still looking for a robust .doc reader that doesn't suck), the IGLU LUG comes to your rescue with their HTML version. This is about using Linux in point-of-sale systems, in case you were wondering what POS stands for.