Reverse Engineering .NET - Good, Bad or Inevitable?
legLess asks: "The Register has an interesting article about reverse-engineering Microsoft's .NET. Apparently ESR, Bruce Perens and Miguel de Icaza have all dropped hints that the project's already underway. The Register has this to say, though, which I think is worth discussing:
...In fact it's a risky strategy for the Open Sorcerers. If .NET isn't reverse engineered, it will surely remain a Microsoft-only platform, as even the best funded efforts to port Microsoft technology to non-Windows platforms in the past have remained at best, a niche option. But if a good implementation is produced, it has the effect of legitimizing the platform, and making much more attractive to conservative, non-committed corporate buyers. Which is certainly the last thing the Beast's foes want to see."
Yes, if we could get .NET working on non-Microsoft platforms, it would be a good thing, but I don't think that the Redmond Redwood will roll over and let this happen without a fight. How difficult would it be to port .NET, if Microsoft is free to add, extend and modify the underlying protocol to break any third-party implementation that may rear its head?
Jamie adds: XNS is worth keeping an eye on. This is a nonprofit, (promised) open source infrastructure to allow individuals to save private data which corporations can only access if they agree to (legally enforceable) point-and-click contracts. In short, it's the groundwork for an open version of .NET focused on privacy, and more. But they're making progress slowly if at all. They have a good team heading it up, and I really want to see them succeed at something besides writing whitepapers, but their mailing lists have slowly gone cold and they still haven't released any source.
Miguel de Icaza, the oreillynet article, and the register are talking about the
The slashdot editors and some posters have confused this with the Hailstorm services (passport, the storing of information, etc.).
Ignoring the issue of Hailstorm, lets consider the arguments for cloning
- A common bytecode for all languages allows all languages to call each other without overhead (thats right, none of the problems of ORBit, Bonobo, XPCOM, etc.)
- Will allow Linux to be a drop in replacement for Microsoft servers. Wow...
- Managed execution is the future. Garbage collection is nice, sandboxing of untrusted code is nice, etc. A common managed execution enviroment has huge benifits, and we don't have anything close to this. Best open source has now is one managed execution enviroment for Perl, one for Python, twelve for Java, one for PHP, etc.
The open source community doesn't have the resources the develop something like this from scratch. Just copying the design of Microsoft is a lot easier (like we did for our office suits). But suppose we could - what would we get? A solution incompatable with the dominate solution. Yeah, that is really a compelling reason to re-invent everything.If we balk at the idea of cloning it, we will be guilty of a major NIH complex. (NIH = not invented here).
Lastly, a lot of poster are suggesting Microsoft will just change the standard and break our open source version. Two things in response. First, Microsoft is in the process of making
So lets start cloning already.
Ben
http://www.southern-storm.com.au/portable_net.html
- Sam Ruby
Allright. Lets sit back and think about the problem. You can use any computer in the world as your computer. Do we really want to do this? When I buy a car, thats my car. I don't want my neighbors using it, or anyone else for that matter. My data is my property, not my neighborhood's property. Sure, i'll lend it out on occasion if one of my friends needs it, but 99.9% of the time, I control it.
I don't see how personal data (or computers in general) differ in this regard. They both share the basic premise of ownership. Human beings do function cooperatively in groups, but the larger the group, the less cohesive its cooperation tends to be. We dont take a car to the market, we take our car to the market. Sure, its an interesting idea--You grab whatever mode of transportation is closest and take it to whatever destination you have in mind...But people just plain don't work that way. If I wanted a network computer, i'd set up an NFS server and boot off of it transparently. Networking issues aside, its a novel idea. But it violates our inborn concept of ownership and "rights of use"..
Time to think of a better idea, methinks.
Bowie J. Poag
The Register article assumes that .NET's legitimacy rests on the availability of an open implementation to compete with Microsoft's. Nothing could be further from the truth. Most of of .NET's perceived legitimacy will in the eyes of CIOs, IT managers, etc. These people will be swayed by its performance in its initial MS incarnation; reviews in manager-oriented publications; availability of software based on .NET; etc. They will not care whether there's a free implementation available.
Remember, SAMBA did not make Windows file sharing so widely-used!
Ryan
To me,
So keep this in mind when you bash
If a penguin dies in the woods, and nobody is around to hear it, what sound does it make?
Sun Tzu gives good advice, but you have to be careful following it. Grok the whole text before you take small quotes out of context.
Attacking core deployed MS services is akin to besieging walled cities. If it is possible to stop them before they fully deploy .NET that would be like balking their plans. But MS is still the big army and when fighting a superior (numerically anyhow) enemy, it is smart to pick your fights.
In an open source context this doesn't mean secrecy, I believe it means keep all kinds of small projects open and underway and whatever project makes good headway against Microsoft should become "the spot where we intend to fight".
I think it's important to not ignore .NET, and like Sun Tzu says: "Thus, though we have heard of stupid haste in war, cleverness has never been seen associated with long delays." Don't ignore .NET until it becomes entrenched. But don't let them choose the fight. Don't rush in and make a broken, inferior .NET implementation or people will think only MS can do .NET properly.
(thank you Project Gutenberg)
So let me get this straight. Microsoft puts out C# to kill Java and .NET to kill JINI and the Linux community is going to jump on board?
.NET, developed alongside IBM and others. But I'm not sure embracing C# is the best way to "stick it to Microsoft"...
I can understand jumping on board for SOAP, which is a fairly basic element of
-StaticLimit
BECAUSE THEY ARE DIFFERENT TYPES OF LICENSE, MORON!
The GPL is a license on *copying*. That's why you see it in a file called COPYING. The MS EULA is a license on use. The GPL is supported by copyright law. The MS EULA is supported by nothing except a few dodgy court decisions (MAI v. Peak, say).
Um, also, the GPL has a laudable goal, and whether or not it is required, we should release the source to our code. The MS EULA's goal is evil, and ought to be fought.
Now go back to your hole, troll.
Become a FSF associate member before the low #s are used
As for Microsoft being able to change stuff to frustrate open source .NET clients, this ability will be limited because they will want to remain compatible with their own clients.
In short, if Andrew & friends can keep up to the point of making it possible to run a PDC on Linux and serve a bunch of W/2000, I'm sure it will be possible to do the same to .NET.
The real issue is, however, that we would still be delegating centralized control over the Internet to one private corporation which is Real Bad no matter what OS you have on your desktop.
Future historians will say that greatest trick Bill Gates ever pulled was not lulling IBM into a false feeling of superiority and then clubbing them to death. Nor was it stealing Apple's revolutionary crown jewel and using it to rule to the desktop. The greatest trick Bill Gates ever pulled, they will say, was that he made windows desktop software so ridiculously difficult to install, use, and maintain (via the windows registry) and then convinced everyone to buy into a networked solution, .NET, to solve these problems he created. That will be the legacy of Bill Gates' genius.
the final nail in the coffin for OpenSource. If you think it is hard now trying to find a job using technologies that work rather that technologies that are popular, just wait until .NET comes out. This is when the shit is gonna hit the fan. We are fucked unless we do something drastic. We are all going to be out of a job.. and all the people who have been spending their time drinking coffee and eating doughnuts at these stupid fucking .NET seminars are going to take our place.
.NET beta... KILL THEIR WHOLE FAMILY.
So what can we do? There is only one solution. Start killing. If you know someone who is excited about compileable ASP code... KILL THEM. If you know someone who has Visual Studio
If you want OpenSource then you are going to have to contribute to OpenKilling. This is the time to seperate the true advocates of free software, from the the poseurs who brag about the money they made when RHAT was hot... which reminds me, if you know someone who sold RHAT at a reasonable price.. KILL THEM.
Doing so will violate that license. Saying that reverse enginering software, even if the license it comes with states it's not allowed, is OK, is stupid, to say the least. By agreeing that reverse engineering of software should be allowed even if the license doesn't allow it, you automatically also agree with the fact that people shouldn't obey YOUR licenses. Copyright anyone?
--
Never underestimate the relief of true separation of Religion and State.
Why should Microsoft pay someone to port .net when the community will do it for free and get a much higher quality port than Microsoft would if they did it themselves. Are efforts to reverse engineer .net playing into Microsoft's hands? As long as we fight the battle on their turf, we are greatly handicapped. If we can design an alternative to .net and pull the game onto our turf, we stand a much greater chance of succeeding.
"To those who are overly cautious, everything is impossible. "
Comment removed based on user account deletion
Comment removed based on user account deletion
Comment removed based on user account deletion
Comment removed based on user account deletion
I've given away slightly more insight in to my life than I wanted to there I think.
A journey of a thousand miles starts with a brutal anal raping at airport security
Microsoft has already comitted to an Open-source Common Language Runtime, which will contain all the basic System.* classes and everything else you need to run any of the .NET compiled languages. It is being developed in conjunction with Corel, and will be released for the *BSD platforms. It should be a short order to get it running on Linux.
.NET programming side is available. As for the extra frills, you'll have to use Windows for those.
What they aren't doing is putting WinForms out there, which is an AWESOME library for dealing with desktop apps. On some level, I understand this, because so much of WinForms is dependant on how Windows does things, the porting job would be huge (but not impossible.)
ASP.NET will also be Windows only, but again that isn't surprising, given that IIS only runs on Windows.
Bottom line: They will be ensuring that the basic core of the
Reverse engineering them (WinForms especially) shouldn't be too hard though -- all of the classes have well-defined interfaces generally. It will just take a lot of tedious work.
-- russ
Natural != (nontoxic || beneficial)
Nothing could help bring Linux to the backend for corporations more so than this... OpenMail and Mailone are costly, and OpenMail is also now dead. This is a needed project!
Linux: Because a PC is a terrible thing to waste.
James Brents
Microsoft has said that their plans include a reference implementation on a free UNIX platform, likely some BSD or Linux. They are staking their future on this platform, so they want it to be adopted widely and they definitely don't want the DOJ to kill it. I think they may play it safe and make their own port under a free license.
Even Slashdot wants to hide some things