Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

Reverse Engineering .NET - Good, Bad or Inevitable? 254

It was only a matter of time until someone posed this question to the readership. After its announcement, last year, a Slashdot reader wants to know your thoughts on the issues surrounding a potential Open Source port of Microsoft's .NET.

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.

This discussion has been archived. No new comments can be posted.

Reverse Engineering .NET - Good, Bad or Inevitable?

Comments Filter:
  • This is one thing I don't think Microsoft would be too vigilant in stopping.

    You have to remember that they want .NET to be a NETWORK platform. They saw how netBeui didn't scale and now even the internal microsoft network runs over TCP/IP -- hell Novell now uses it.

    For Microsoft to create a real standard they can't be opposed to multi-platform support.

    -davidu
  • We can always reverse engineer it. But as always with the products of Microsoft, they can start revisions a step ahead of us, and what we have will always be a generation behind. We need more effective solutions. We need to take over the initiative.
  • Actually this is precisely why Microsoft wants to sell software as a service. Microsoft has finally realized that they are to the point where they can't coax users into upgrading by promising them a version of Windows without the major flaws. So instead the want to charge their users by the month whether they release new software or not.

    Selling software as a product really isn't a very good fit, and has led to many of the abuses that we are currently subjected to. Of course, Microsoft's proprietary software would even be worse when sold as a service. Microsof would probably still not be too terribly interested in fixing bugs. I am sure that they would rather spend their time making sure they used their position to worm their way into every financial transaction.

  • Now, Microsoft gives out this closed source piece of software, under their own license which states you are not allowed to reverse engineer it.
    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.


    At least, things like C# and the .NET libraries are (going to be) submitted to standards organizations. That said Microsoft.
    __
  • i am attending microsoft tech ed europe at the moment and had some thoughts about this yesterday which i wrote about in my weblog. the ideas are just a rough sketch what i was thinking about, so please be gentle and judge them by content, not by the form or the clarity of expression.. :)

    over the course of these presentations it became very clear that microsoft has unleashed something much larger than it can ever hope to handle like it has in the past when it introduced the concept of web services. web services have all the ingridients of a disruptive technology. they place simplicity where complexity and opaque systems have reigned for so long.

    their complete reliance on xml for all aspects has brought them some critisism from some quarters that they are not being efficient and that xml adds nothing that was not there before. i was wondering along these lines as well. however when i saw how the concept of web services has evolved in one year i started to notice similarities to the classic and incredibly successful osi model. web services start where osi ends, but they share the concept of piling indepent services on top of each other. this has been a very powerful architecture in networking systems, especially tcp/ip. since xml is such a simple representation of data it has been very easy to extend web services with additional layers and make them increasingly powerful. i believe that the benefits from a large scale adoption of xml will be reaped with ever more layers stacked on each other, with ever increasing power. although web services are an active area for the w3c, it remains doubtful how the industry will counter microsofts .net juggernaut. declaring support for soap, as ibm, sun, oracle and others have done, is not going to cut it. what is needed is a credible architecture that can compete feature by feature with .net. although all the components like apache (web server), soap for apache, jabber (xml messenging), kdevelop (ide), postgres sql (database), ldap (directory) exist in the open source community, they are not part of an overall architecture. it would be a major undertaking to get the developers of the respective components to talk to each other and agree on common interfaces.

    the old unix argument about never setting policy looks quite silly when you realize what productivity gains microsoft will be leveraging with their .net platform. it also became quite evident that we have seen nothing yet in terms of the web services architecture. many key pieces are missing, like meta data to enable the retrieval and processing of semantics from data (to support agent technology for instance), the questions of payment for web services and global, fine-grained security matrices (who has access to which of my data). web services are loosely coupled but they have no mechanism to guard against api changes or to facilitate negotiations on usage terms for web services.
  • Our Server's Dead Now
  • by bhendrickson ( 7671 ) on Tuesday July 03, 2001 @05:16PM (#110267)
    People are talking about different things.

    Miguel de Icaza, the oreillynet article, and the register are talking about the .net development enviroment and c# language. This includes the .net common libraries and runtime for the p-code.

    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 .Net:
    • 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 .net an open standard (remember we aren't talking about hailstorm, just c#, the runtime, and libraries). Second, imagine if Sun tried to substantaly change Java (which is not an open standard like .net will be). Nobody would use Sun's new version because it would break compatiblity with HP and IBM's cloned Java implementations that make up a lot of the market. Microsoft would have the same problem if the open source .Net versions ever got reasonable market share.

    So lets start cloning already.

    Ben
  • I'm inclined to ignore .net, concentrate on continuing to refine the alternatives, particularly java and connectivity tools. If we play .net, we'll get fight an impossible battle against ever-changing standards.

  • by Sam Ruby ( 8995 ) on Tuesday July 03, 2001 @04:11PM (#110269) Homepage
    http://www.southern-storm.com.au/portable_net.html
  • Hmmmm,
    Just had to chip in my two cents on the matter. You've pointed out software that OSS built on other projects or commercial software that has been emulated.

    Some projects that I can think of off the top of my head.

    1) grandaddy apache of course the original software was open source, can't remember the name right now.

    Other's Perl, truely it's just another programming language, but it was a revolutionary design in programming. It borrows a lot from C, shell scripting etc, but I would definately not say that it is attempting to emulate anything on the market.

    PHP, another programming language... It's a set of tools that never sought to emulate anything else, it was developed to fit a need and it's been opensource the entire time.

    Slashdot, slashdot is leading the way, I don't see it trying to emulate anyone. But I have seen a lot of proprietary venders trying to emulate it.

    These are tools that I work with every day... Granted we all know and accept that Linux and other open source project are behind on the user interface/application side of the house and the open source community is playing catchup, but on the developement side of the house there are a lot of tools that have no counterpart, tools that are designed to fit a need.

    One of the projects that I didn't list is Quantas, I figure it probably started off trying to emulate some of the other ides out there, but I think it's probably gone beyond that now. I use quanta a lot in my development work. I haven't seen anything on the proprietary side of the market that is as flexible and has the features I want. If you know of one, let me know I'm always looking for better tools.

    There are a lot of little tools that I use that have no equivalent on the commercial side of the house.

    As far as picking at open source for not coming up with their own ideas, I'd like some examples of commercial companies that developed a lot of innovative "new" ideas and brought them to the market. I can name a couple, but those companies don't exist for the most part anymore. I think that you will find that most of the "new" ideas are from small firms rather than the major firms.

    I will say that I have very little information about .net... heck checking out cobra is still on my to do list.

    As a futher note, in the main article it says..

    "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.

    I'd like to point out that Bruce's comments lead me not to think that it's a clone of .NET or C#, I could make conjectures as to what it is going to be... but frankly I don't care. I'll deal with it when it gets here and if it fits into my plans/work I'll use it otherwise I will ignore it.

    In my opinion The Register is just trying to piece a couple of hints together and scoop other websites. Heck, that's their job, it drives circulation. I just think that they are wrong. Whether they are or not doesn't really matter much to me, we'll know when it's announced if I'm wrong it'll take me about .2 seconds to admit it and move on with my life...

    Blah,
    Anyway, sorry to talk about the register's article in a reply to you Dan, I just didn't feel like writing another comment.

    Let me know what you think on the Perl, PHP, etc comments and a couple of examples from the commercial side of the house.

    Thanks,
    Lando

    It strikes me that this new project is

  • You assume that .NET will be better than MS's current (shitty) offerings, and therefore solve the problems. I'll be quite surprised if this is the case. Remember, the windows registry was supposed to "solve" the problem of having all those .ini files everywhere.

    Why solve the problems with .NET, when they can leave them in (or shuffle them around a bit) and then make even more money on .NET's successor? Microsoft has literally no incentive to provide near-perfect software, because then there's a much smaller upgrade incentive (for users). They're quite happy to keep fucking over their users until the end of (their) time, all the while providing ever more "upgrades" of dubious quality - typically only just enough quality to get people to adopt it.
  • Fat chance -- it took Microsoft 10 years to write Exchange and it shows in the "design". I doubt their protocol is even documented fully internally. It would probably be a hellava lot easier to write a Outlook plug-in to your back-end of choice.

    Not to mention that nobody's even reverse-engineered Microsoft-err-Open Group RPC yet. Need to do that before you can even start with the application stuff like Exchange.
    --
  • Just want to say that I fully agree with your points, especially the one about most software being either internal or vertical market.

    You are correct that this market will probably never embrace open soure, at least not in the GNU sense (although the GPL seems rooted in an older era of more vertical computing). However, as you point out, there's an enormous amount of infrastructure these products ride on, and *that* is where Open Source can make the greatest impact, and that is why open platforms (such as a potential reverse engineered .NET) are so important.

    I don't see OSS ever producing a Photoshop or a MS Word unless someone like Sun or IBM comes in and pays for it. I do see them continuing to produce a lot of fine infrastructure - Linux, Samba, Apache, Postgres and so on. The companies providing the vertical solutions become the benifactors and they can pass the savings on directly to their customers.
    --
  • Microsoft is going the standards route because they are the underdog in this fight and they know there's some divisions in the Java camp over Sun's approach to standards. Standards or no, the Java development process is probably more open. An ECMA rubber-stamp is just that, a marketing feature point.

    Furthermore, while in the abstract .NET is platform independant and standardized, in the real world it will heavily rely on COM and proprietary Microsoft components. Having a portable or a reverse engineered runtime doesn't do one a bit of good if you can't run applications that use ASP.NET objects or ADO.NET database access. (You'll note that these bits are open to competing vendors in the Sun world.)
    --
  • Piper [bioinformatics.org] is a peer-to-peer distributed workflow system that brings the UNIX paradigm to the GUI and GUI features to CLI programs.

    It has been called an "Open Source alternative to .NET", although it is by no means a clone. Rather, it focuses on extending existing UNIX features and programs to the Internet, where they haven't been before.

    Perhaps we don't need a clone, just as Linux is not a clone of Windows. And it's a good thing it is not.

    Here are some articles and mentions of Piper:

    On Slashdot [slashdot.org]

    Linux Software Encyclopedia [tamu.edu]

    Linux Weekly News [lwn.net]

    Gnome Gnotices [gnome.org] (It's interesting to note that the article first posted there referred to Piper as an alternative to .Net. The moderator later changed that. Paranoid minds, such as mine, wonder about this and the future intentions of GNOME with respect to .Net.)

    O'Reilly P2P website [oreillynet.com]

    SunWorld Online [sunworld.com]

    And some other online magazines/forums:

    Infolets [infolets.com]

    Tecnologia [digito.pt]

    Hispa MP3 [hispamp3.com]

    --
    This sort of thing has cropped up before. And it has always been due to human error.

  • Before answering the question, it's important to understand the question.

    So my question about the question is:

    Does anyone actually know what .NET is ?

    --------
  • Any company of significant size, or with a halfway decent IT department, has considered the business risk involved in being dependent on a single vendor for all aspects of their computing strategy.

    Up until not that long ago, Microsoft produced the desktop OS and the office apps, and that was basically it. Then with NT, Microsoft entered the server space with a vengeance, and now you have large corporations that find that they have effectively bet their company from end to end on Microsoft software. This worries many of them, especially with Microsoft's increasingly self-serving, anti-customer antics.

    .NET's legitimacy will be seriously compromised if there are no alternative implementations, or if the "standards" on which it is based are hollow. Contrast this to what's happening in the Java space, where there are solid standards, and multiple implementations, including Open Source ones, from companies both big (IBM, Sun, Oracle) and small.

    It's not difficult to make a case to a CIO that betting the company's IT strategy on products and tools that are based on standards implemented by multiple vendors, is safer than a system implemented by a single vendor with an iffy record on standards. With Microsoft being the single vendor, the risk is not so much that it'll go out of business, but rather that customers will be pushed in directions they don't want to go, without any alternative choices.

    Even at the level of non-technical managers, questions are being raised lately by the mainstream press coverage of Microsoft's various take-over-the-world strategies. Microsoft has generated its own self-damaging FUD, which has started to trickle down into places which, before long, could start having a real effect.

    Viable alternatives to Microsoft solutions are becoming more and more attractive in the business environment. .NET may not be adopted quite as blindly as many expect.

  • 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.

    I would argue that the greatest trick Bill Gates pulled was managing to succeed in using the same trick repeatedly to build a corporate empire.

    A quote:

    The idea that Bill Gates has appeared like a knight in shining armour to lead all his customers out of a mire of technological chaos neatly ignores the fact that it was he who by peddling second-hand, second-rate technology, led them all into it in the first place.

    That is everyone's favorite Hitchhiker, the late Douglas Adams. He wass speaking about Windows 95 (New! Improved! Almost as good as a Mac!). You are not the only one to realize that Microsoft has pulled this trick, but it must be made clear that they have done so before, and will most likely try it again.



    --
  • by Bowie J. Poag ( 16898 ) on Tuesday July 03, 2001 @04:15PM (#110289) Homepage


    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.

  • Like world+dog, Microsoft has used much BSD-derived software without sharing the source code, which is why it likes its style of license so very much

    What the heck does "world+dog" mean?

    --

  • by RyanGWU82 ( 19872 ) on Tuesday July 03, 2001 @04:15PM (#110293) Homepage
    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
  • by informer ( 20888 ) on Tuesday July 03, 2001 @11:14PM (#110296) Homepage
    With all the recent articles about .NET I think its high time sombody explained to you people a different perspective of what .NET is. I will start by saying .NET means different things to different people, however its a collection of a few technologies.
    To me, .NET is:
    • CLR (Common Language Runtime)
    • Standard Class Library

    .NET (the name iteself) is a MARKETING TERM. Of course the underpinnings of .NET are XML, SOAP, and other technologies usually associated with a networked environment, however .NET iteself can be used however you see fit. Personally if I was to creat an application using the .NET framework I would not be doing to create a distributed network of subscription web services. I would most likely be using it because :
    • My favourite langauges exist and have access to the well defined and well implemented class library.
    • The CLR provides for what microsoft call "managed code". This code is garbage collected and reduces the need for tedious memory management.
    • It is well supported on Windows which is my target market at my current job

    So keep this in mind when you bash .NET as being a "web subscription model". Its more than that, and to some people, it has nothing to do with that.


  • by Merk ( 25521 ) on Wednesday July 04, 2001 @08:26AM (#110297) Homepage

    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.

    Hence to fight and conquer in all your battles is not supreme excellence; supreme excellence consists in breaking the enemy's resistance without fighting. Thus the highest form of generalship is to balk the enemy's plans, the next best is to prevent the junction of the enemy's forces, the next in order is to attack the enemy's army in the field, (when he is already at full strength) and the worst policy of all is to besiege walled cities.

    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.

    The spot where we intend to fight must not be made known; for then the enemy will have to prepare against a possible attack at several different points;

    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)

  • by StaticLimit ( 26017 ) on Tuesday July 03, 2001 @04:17PM (#110298) Homepage
    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?

    I can understand jumping on board for SOAP, which is a fairly basic element of .NET, developed alongside IBM and others. But I'm not sure embracing C# is the best way to "stick it to Microsoft"...

    -StaticLimit
  • It's important to note that Rhys' project is concentrating on building a light-weight interpreter for embedded systems, and has no real goal of constructing a full featured runtime for Unix. Really, he is most interested in selling compiler technology.

    In a message to his mailing list yesterday he once again stressed his dedication to his compiler technology and even mentioned that, in order to diversify his company's offerings, he is likely to focus more on re-compiling .NET to work on the JVM.

    I was working on an alternative project with the goal of using Intel's ORP [intel.com] to build a fully featured runtime, but due to lack of support I've all but dropped the project. One of my earlier project statements (which was posted to Rhys' mailing list) can be found at:

    What I'm Planning: Alternative Project w/ Slightly Different Goals (was: Suggestions) [ http://lists.saurik.net/message.xsp?id=62 ] [saurik.net]
  • You can expect to see some new (or old?) purchased, globally enforceable legislation that will prevent interoperable implementations of .NET. Not that MS .NET will be allowed to interoperate with older versions of itself from one mandatory monthly upgrade cycle to the next.
  • 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.

    Microsoft's trial balloon about disallowing the use of "potentially viral" software is undoubtedly intended to be part of the legal protection for .Net. Microsoft cannot allow competition.
  • by prizog ( 42097 ) <(gro.silavon) (ta) (todhsals-silavon)> on Wednesday July 04, 2001 @08:01AM (#110302) Homepage
    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.
  • Another thing to remember about .NET is that whether or not there is an Open Source implementation, the majority of the traffic will be going through Microsoft's servers... At least, for the HailStorm portion of things.

    I really do not think it would be healthy for the Open Source movement to embrace .NET - Open implementation or not.

    Ryan, I hope you're right and this ends up being like SAMBA
  • How about naming any of MS's much touted successes that aren't broken duplicates of other people's ideas? How about any that actually worked before version 3?

    Ummm.... Excel... ummm... ummm....

    Xix.
  • While my reply may start wandering off topic, I think your comments deserve some response. It's great to see a serious critique of Open Source development and its limitations. I certainly agree that Open Source is frequently imitative rather than innovative. I also agree that the most innovative projects require rare expertise that is often difficult to obtain and may be diluted to mediocrity by having too many fingers in the pot. I personally favor strong moderation of Open Source initiatives.

    However, there are some real benefits that are worth mentioning. The product of these efforts will approximate the desires and goals of its developers (who are invariably also users). Commercial software, conversely, represents a best guess of the customer demands as understood by marketing, is then often coded by developers who haven't talked to more than a few live users (if any), and as a result often, not surprisingly, misses the mark. With open source, the goals of the developers may not be compatible with the 'general public'. But the software is more readily adaptable because you as an individual user can change it or integrate it into a larger effort. A second area which I feel often gets ignored is the symbiosis between open source and standards efforts. It is possible for standards to be defined and evolve among a small set of corporations, but the feedback gained by releasing an open specification (preferentially with a working implementation) is extremely important for resolving differences of interpretation.

    I see the Open Source movement filling niches lacking commercial viability and turning existing technologies into commodities. An innovative product like Photoshop may define a market and effectively set a standard for a few years. But over time, the cost of creating a competing product falls. Whether an open source effort such as the GIMP comes a long or the technology gets assimilated into a large operating system, eventually these technologies become an expected part of the computer experience. I remember when word processors were examples of exotic software. Now many introductions to programming walk you though developing one as a simple tutorial. As technologies mature, I strongly endorse Open Source initiatives because they keep software alive and growing to meet the demand of modern users.

  • I mean, really.. We have open bytecode-based VMs, we have XML-RPC, SOAP etc. We have C-like languages up the yin-yang on UNIX. The whole OS is built around the idea that a network connection is just like a file. Now MS is trying to sell this concept as if its something new? or interesting? What is M$ giving us here except an 'authentication service' - hell, you could probably whip that up in a weekend with an SSL-enabled apache and perl, and yet another language, based on proprietary technology and attempting to duplicate the functions that Java is already providing? MS has proved time and again that they aren't interested in working with anyone else unless they retain control, and they make the most $$$. If there was ever a time to make a conscious decision to say - 'Not this time, Bill. You can cram .NET up your pasty-white corporate ass.', this is it.
  • I dont mean to bust anyone's ballon, but when was last time you saw an OSS project (other than the actual kernel) start from scratch, create a spec, follow it, implement it in a timely manner, and deliver a quality-end product?

    Hmmm....

    Bind

    Telnet

    Most of the other infrastructure of the Internet - especially in the early days.

    vi

    Sendmail

    Netnews

    Mosaic

    BSD

    UNIX itself - up through at least Version 6 and maybe 7.

    I could go on.

    Yes, they weren't explicitly "Open Source". But they WERE developed in environments where the source - either deliberately or defacto - was open or opened (for some value of "open") or otherwise not kept proprietary. Many of them were developed before there WAS an explicit open-source software model.

    And yes, some of them didn't run straight from conception to execution according to the orignal design. (But what project does?)

    Take Unix, for instance. It was a spare-time hack done in the back room by a handfull of techies trying to turn an abandoned computer into something useful. When it first become part of an official project it was officially the underpinnings of a word-processor application for the legal department - under a strict injunction NOT to spend their time writing an OS. (The minimalization of the kernel proper - with important core functionality such as command interpreters as applications - may have arisen partly to provide plausible deniability: "That's not an OS. An OS does THIS and THAT and THIS OTHER THING, right? Well this doesn't!"). Its source was freely distributed to hundreds of educational institutions, for the cost of media and shipping, until upper management finally took notice when the kernel appeared in its entirety in a set of OS course notes that quickly became an underground classic.

    There were major questions about the proprietary status of Unix. It was written before copyright had been revised to apply to software or the patent system hacked to apply, so the only protection it had was trade secret - which evaporates when the cat leaves the bag. It was written by a regulated monopoly, which was mandated to publish and make available anything it did that had applications outside of telephony. The entire EXISTENCE of SVRn may have occurred because a proprietary rewrite was needed to "close" the Unix source.

    Perhaps there haven't been a lot of high-profile breakthrough applications out of open source just lately. But how many breakthroughs have you seen from CLOSED source lately? How long has it been since something as fundamental as the Internet, the Web, or spreadsheets came out of either open OR closed source projects, hmmm?

  • by KGBear ( 71109 ) on Tuesday July 03, 2001 @04:22PM (#110315) Homepage
    If .NET really succeeds and becomes as ubiquitous as Windows desktops, which is still to be seen, some open source version of it is inevitable, just as something like Samba was inevitable because of Windows desktop ubiquity.

    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.

  • I'm not going to to .NET, in fact, I'm not going to move past Win98 for many things, pulling back the line to Win98, Office97 where I can, and Win2k servers. I'm not willing to trust my infrastructure or privacy to a company that doesn't even know enough to have redundant DNS servers on different networks. I was able to do this with our companies servers, with just me in the IS department.

    When I can put a record in our DNS server that tells people where our users can be authenticated, then we'll have a workable solution, not before. Why should we subject everything to a unneccesary single point of failure (M$) when we don't need to, don't have to, and it's not even prudent?

    We should use the email address as a key, the DNS server for the user's domain could then be easily specified to point anywhere, even M$. It would be simple, consistent with existing protocols and memes, and easy to understand by the masses.

    --Mike--


  • 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).


    I'm sorry, but I have to say the windows registry still remains one of the best things about windows. Don't give me that "it corrupts" shit. That was years ago. It's so much better to have a centralised storage database for settings.

    You're telling me that the registry (structered settings database) is MORE complicated than the gazzilions of configuration files in Linux (all of which have different formats etc)?
  • I think you've watched antitrust a fe wtoo many times there....
  • by Ukab the Great ( 87152 ) on Tuesday July 03, 2001 @04:24PM (#110328)
    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.
  • I think the big question is not whether .NET can be reverse engineered, but does anyone want it?

    I have the feeling that Microsoft developed the idea of .NET to entrench their Windows monopoly, not to add some desperately needed services for customers. Just like integrating IE into Windows 98, this is not something people are asking for, but once it's implemented Microsoft's customers won't consider it something they care to complain about.

    I could be wrong, but who's asking for this? What major need is Microsoft expecting to solve with .NET? Microsoft with their monopoly is able to change the rules of successful product development -- instead of developing something that solves people's problems, they spend billions developing things to entrench their monopoly but no one complains about. I remember reading articles before Windows 98 (97 back then) was released where pundits were asking why Microsoft was bothering to integrate IE with Windows. Who wants that? Well, customers may not have been asking for it, but it got Microsoft what they wanted -- the tools to be able to control content on the WWW, and make the Internet their own on-line service.

    Well, the analogy is, what if someone found a way to "integrate" IE with Linux's or the Mac OS's UI in the same way? No users are clamoring for this, and something that looks like it's "hurting" Microsoft, would actually benefit them. Realize their real goal is not to get everyone to use Windows; it's to create a "sticky" service generating recurring revenue where the barriers of entry so high that their monopoly is preserved. That can be done with a closed OS or with a closed on-line service.

    So the question is, if someone reverse-engineers .NET, are they really solving a problem, or just helping Microsoft entrench their monopoly further?


  • It is so obvious to me that the majority of people on ti sboard do not have the slightest clue as to what .NET is, what it means, or how to program for it.

    Do yourselves a favor and pick up this book from O'Reilly ".NET Framework Essentials" ISBN 0-596-00165-7

    Read it, then have an opinion. Most of the posts on this board are drivel with regard to .NET.

    If you don't know the words...don't sing the song.
  • The Open Source folks really crack me up. MS has invested 4 years and hundreds of thousands of man hours in the development of .NET and the open source folks think they can hunker down for a weekend and pull it out of their collective asses.

    What a joke.

    If open source was so good at innovating then why are they always playing catchup?

    I think you guys should go back to doing what you do best...arguing over the library used in KDE, or better yet, arguing about which desktop you should use...KDE or Gnome. There you will feel happier, be more content, and be surrounded by the ones you love.

    Meanwhile, the rest of us are going to blow you away with what we are able to do in .NET.

  • You completely miss the point as .NET is not entirely what you seem to think it is. See my previous post for more information, or better yet, do some reading on it first.

    The trouble is, I'm reading about .NET all the time, but I'm still vague about what it is. Seems to have something to do with the internet, something to do with accessing my data from whereever I am, and something to do with being wonderful because Microsoft invented it. Oh yes, there's something about a language (C#?) that will run everywhere (just like Pascal, C, C++, and Java have promised to do).

  • You're right - there is no chance of a serious competitor to .NET emerging from the free software world. Same reason Stalin and Castro got huge 'spontaneous' demonstrations in their support, and American presidents don't. But totalist organizations such as Microsoft are only superficially impressive. Yes they can set thousands of people marching in the same direction, but does it really accomplish anything? To appreciate my skepticism you have to recall how collectivism was once revered by US intellectuals. It really looked like the Soviet Union was going to kick our ass with their superior, coordinated society.
    Anyhow, I think .NET is another hollow 'five year plan'. At any point in Microsoft's history, the past is rotten but the future is glorious. The OS sold yesterday is now admitted to be a FPOS, but keep marching on into the glorious future!
  • Your complaint then is not with open-source...
    He's really not complaining. He's just pointing out that Open Source programmers don't tend to work on gigantic, ambitious projects. Which is mostly a good thing, because such projects are probably bad ideas aimed at self-aggrandizement rather than doing anything useful. However it explains why we won't spontaneously produce an alternative to .NET. (.NET, as a whole, does not have any reason to exist outside Microsoft's schemes).
    People will only work for free on stuff they believe in. The projects I code on professionally don't always make sense to me - which is OK because I get paid. But I am not going to spend my spare time on some huge, vaguely defined project.
  • I've heard roughly the same comment from some several programmers. What is so hard about printing from Unix? Linux distros generally have ghostscript/magicfilter installed. Commercial Unix is usually at sites with Postscript printers. Postscript is a great language for defining graphic output. What is this Windows Printing API and why's it better than Postscript?
  • And Osama Bin-Laden will celebrate the 4th of July...
    Well if he doesn't, he ought to. Independence day celebrates the victory of a small ragtag army against an imperialist global superpower.
  • I'm skeptical. Remember, Microsoft said they would use XML formats in the office suites. It turns out they meant use nominal XML wrapped around a big chunk of binary data. If they're smart (and they are) they'll treat 'obscurity' as a knob they can adjust. They'll start at 0 and turn it up gradually until nothing is compatible. And it is quite possible to do this while adhering to all the standards you mentioned. XML's not that friendly when it's a huge CDATA block that's an encrypted RAM dump from a Win32 machine. And think of all the games they can play with certificates hardwired into the clients - only Microsoft and their buddies would be 'legitimate' in the .NET scheme. And as they turn that knob it goes from "I don't get the padlock icon" to "I get a dialog box - insecure site, continue connecting?" to "Access denied - you have been reported to Passport central."
  • I still don't understand.
    Windows Printing API is format and driver and medium neutral...
    Isn't Postscript, at least in practice? When I print a page from Netscape Navigator, it uses Postscript for the output. This works fine at home (via Ghostscript/magicfilter) and at work (printers speak Postscript natively.) Same for xfig.
    I've written several apps which generate complex graphical output on Unix. I used Postscript for all of them. I did not have to know or care about the destination device.
    It seems to me (in my ignorance of the Windows Printing API) that Postscript is a superior solution, partly because it introduces a standard language as an intermediate format. This greatly eases troubleshooting of odd output problems.
    Have you used Postscript? Do you know it? If not, I highly recommend that you work through Adobe's Postscript Tutorial using Ghostscript when you have the time. It is a very nice language. It supports functions, which encourages you to write reusable building blocks.
    As for these big-apps reinventing the whole works, I tend to think they made a mistake. There seems to be a tendency to transplant ideas literally from Windows without first examining the native facility on Unix.
  • Name one thing in .NET that Microsoft can patent.

    APIs can be reproduced, so copyright is essentially useless against reimplementation.

    It is true that APIs are not protected against cloning under copyright law; but if they implement a novel and efficient solution to a technical problem, they may indeed have protected it under patent law.

    For example, Microsoft has a patent (US 5,297,284 [164.195.100.11]) on the layout of the vtables of pointers to functions used in COM objects with multiple inheritance. It is therefore legally forbidden to add a compatibility option in gcc to clone this. (Although according to this post [gnu.org] on the gcc list the WINE people do have a workaround).

    If you think that MS Legal haven't done their level best to protect .NET against independent third party clones, then you are naive. The recent pre-announcement of the crippleware .NET SDK for BSD explicitly mentions that it includes the licensing of relevant patents, as does MS's development agreement with Corel. Independent implementers are unlikely to be so favoured.

  • I was talking to a friend who works for a major UK retailer (a UK top 50 company).

    They are about to massively upgrade the software they use for sharing live sales and warehouse stock-level data with their supply chain. The company reckoned that .NET was exactly the sort of foundation they needed, and considered it at some length last week, before (reluctantly) agreeing that there was no way they could commit to something before it had had a widely evaluated and reviewed 1.0 release.

    To amplify what cthugha was writing above: unless linux can implement this platform, or offer an alternative which is both as easy to use and as easy to develop for, MS will lock in a lot of the server marketplace.

  • Copying the base platform is the easy part, and isn't going to get you very far... copying the library is probably much trickier

    There was a good article recently in Linux Magazine on what the CLR would need

    • GCC.NET [linux-mag.com]
      -- Mark Mitchell, release manager for gcc 3.0 and CTO of CodeSourcery
      What is Required for GCC to Support Microsoft's .NET? (April 2001)
    A couple of other articles (less focussed) discussed why adopting some of .NET might be a good idea:
    • Independent State [linux-mag.com]
      -- Interview with Dick Hardt of ActiveState.
      Pages 3-4 discuss .NET : What it is, what it is like to code for, why linux needs an implementation, what needs to be done. (April 2001)

    • Embrace and Extend [linux-mag.com]
      -- Jon Udell from Byte
      What linux can learn from .NET's component architecture. (February 2001)

    For all the throwaway remarks Bruce Perens makes, I don't think it is going to be an easy job -- and cloning the libraries will be a massive undertaking. (For comparison, just look how much of the standard Java libraries are still to be implemented by GCJ).

    But even incomplete first steps could be very worth while, especially

    • Mechanisms to inherit and efficiently extend objects from pre-built libraries, using a common cross-language ABI.
    • C#, which does have a certain amount going for it.

    I guess its a step towards weaning Microsofties away from Microsoft servers, but it seems like a lot of effort

    I think you are altogether too sanguine.

    The aim of the .NET API is to dramatically lower the bar for writing server-based apps, leading to a huge expansion in such platforms. MS's services like Hailstorm are only a tiny part of the picture. Unless the unix community can effectively market an alternative API for creating server applications which is both as friendly for end-users and as easy to develop for, we risk lock-out from what is likely to become the dominant sector of the server market.

  • Another thing to remember about .NET is that whether or not there is an Open Source implementation, the majority of the traffic will be going through Microsoft's servers... At least, for the HailStorm portion of things.

    .NET is an API and development environment for writing server-based apps.

    Hailstorm is a tiny part of the picture.

    The 'traffic' will be going to the vast number of third-party apps, which .NET is designed to make it much, much easier to write.

    It isn't the Hailstorm servers you need to worry about -- it's all the servers running those third party apps.

    Do you want to see Open Source locked out of what is likely to become the dominant segment of the server market ?

  • Searching out info about .NET -- Yurrgh !

    Try looking it up on a mailing list, and all you get is endless postings from aa@bb.cc.net . Or try Google and it ignores it altogether.

    This is what annoys me the most about .NET

    Otherwise I'm with Xandis (who appears to have got modded down off the face of the earth for daring to suggest MS might have done something right for once, so here's a copy):

    It's not that bad. It is easy to remember and pronounce. It can also fit nicely on mugs, t-shirts, flags, etc. Having a DOT along with a NET captures both the business angle (DOT-com) along with the generic angle (interNET). It is so non-specific it meets their need for being the name of a framework that will be the core of everything net-related in the universe. I think Red Hat would be wise to follow suit and produce a competing framework titled DOT HAT.

    But the most important thing about .NET (from a marketing point of view) is the scope of what it lays claim to.

    Whether it is actually true or not, the umbrella name suggests that MS has a complete integrated package to offer -- everything you need to click-and-paste together apps on your standalone system, which can then be seamlessly transferred to run as server apps without changing a line of code.

    It may still be vapourware, but IBM, Sun, Oracle etc don't even have a name yet for such an all encompassing dream.

  • The idea of .NET is to create an environment where it is as easy to click-and-paste together server apps as it is to create standalone scripts at the moment in VB -- easier, if anything.

    It isn't meant as just an API for invoking applications -- it is meant as a complete API for creating them. With its support libraries, we are talking about something as all encompassing as win16 and win32 MFC were in their time, but of course now much much wider. (Do platform capabilities have to grow with Moore's Law too ?)

    The idea is that -- for example -- you could click together a standalone app to run on your workstation; but transfer it to a server, and all your local forms and GUI are automatically translated to web equivalents.

    You can write objects in whichever language you like - VB, C#, perl, python - and not have to worry about bindings or compatibility; you can automatically inherit and extend any of the objects written in any of the languages, either at runtime or at compile time, without even any header files to worry about -- even if they are bought-in objects pre-compiled to bytecode.

    The aim is to make it easy to do things at a much much higher level. It is on a completely different scale of developer-friendliness than having to worry about the minutiae of interfacing with Corba, or drawing a page box by box with GTK. Just plug in, and off you go.

    I am not saying that the underlying technology is necessarily particularly advanced -- but to create all of the components to make the whole platform is a huge undertaking.

    The big questions are whether MS can deliver it, and (especially) what the performance will be like. But if they do get it right, their aim is to de-skill the whole business of writing everyday garden-variety server applications.

  • The BSD version is deliberately crippleware, and intended to stay that way.

    It is missing many of the key libraries that would most applications would use; and a lot of the internals are intentionally low performance.

    It appears to be a bare minimum for (a) .NET to be teachable on university CS courses; and (b) MS to be able to point to 'two independent implementations' for standards approval -- which it needs to reassure CIO's that the platform won't get hijacked from underneath them.

    We haven't seen the licence yet, of course; but I would imagine that any patches would belong to MS; independent distribution of patched code would be forbidden; and that MS would have the right to suppress any patches which altered the functionality of the product.

    This is one product I think MS have no desire to see working any better.

  • .NET may make installing software much easier, but that will be a marginal side-effect. What .NET does is create another platform on top of the operating system for applications to be written on (effectively comoditizing the operating system the same way the JVM does, in case M$ gets broken up into an applications and a operating system division). It also comoditizes programming languages (to a certain degree, C++ can still run "outside" as un-managed code).
  • by mr_gerbik ( 122036 ) on Tuesday July 03, 2001 @04:21PM (#110367)
    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.

    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 .NET beta... KILL THEIR WHOLE FAMILY.

    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.
  • by Otis_INF ( 130595 ) on Tuesday July 03, 2001 @11:15PM (#110372) Homepage
    Let me get this straight: when a company puts GPL-ed code in their own closed project, it violates the GPL and you all go bezerk (you have all right to do so). OK. Now, Microsoft gives out this closed source piece of software, under their own license which states you are not allowed to reverse engineer it.

    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?
    --

  • by stox ( 131684 ) on Tuesday July 03, 2001 @04:15PM (#110374) Homepage
    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.
  • It's Java with a connection to a server someplace. Either that or an ASP or something. In other words, what's so special about .Net? Nothing. There was this thing in The Washington Post a few days ago about what Hailstorm offered. There were 14 services but most of them seemed rather trivial, like "myBookMarks" and "myLogin" or something like that. (sidenote, they were all called mySomething, which might not bother me so much except that I have never seen anything called yourSomething hisSomething or herSomething. So why not just drop the "my"?)

    Anyway, .Net seems like a tempest in a teapot to me. None of the services described in the post article were compelling enough to make me want to upgrade Windows.

    The only thing that will make me upgrade Windows is new hardware that requires an upgrade for support. That means SMP or a 64-bit processor. If they force me to get a passport to use my hardware properly, then I may bite the bullet and move to *NIX. By then, perhaps there will be an IDE comparable to MSVC and/or MacOS for x86. If there is, bye-bye Windows.

  • No. Go back and read what Microsoft actually says. They say that "open source" is viral.

    Since anyone with any inkling at all of what open source is about understands that such a claim is complete nonsense, most people fill in gaps and think "oh, they say open source, but to make sense they must mean GPL."

    Sure, they may mean GPL. Their marketing stuff makes some sense if you read GPL. But in general, they do not say GPL -- they say open source.
  • no, actually they put a few different open source licenses on their blacklist by name, including the GPL and MPL.

    In the EULA recently mentioned here on slashdot (and since removed from the Microsoft site), Microsoft also named the LGPL and Perl's Artistic License as being on their blacklist. Neither license is a "copyleft" (or "viral") license, despite Microsoft's claim to the contrary.

    The truth is, Microsoft is made of people (just like Soylent Green). Some of those people understand the distinctions between the different open source license. Some of those people do not. Some of those people know which open source license are free, and which are copyleft, and some of those people don't have a clue.

    But like in all debates, it's very important to listen to what Microsoft is actually saying, and not just what you hope they're saying. They are not making a distinction between the different types of license, hey are making no effort to clarify the licenses, and they often muddle the differences. Much of the muddling is probably unintentional.

    But for many, many, many people, this is the first time they're hearing about the different types of "open source" or "free" or "copyleft" software license, and it's a confusing picture, and Microsoft is making no effort to make it less confusing, and is making some effort to make it more confusing.
  • by gowen ( 141411 ) <gwowen@gmail.com> on Wednesday July 04, 2001 @04:06AM (#110378) Homepage Journal
    Fortunately, I'm not an American, and reverse engineering is a right guaranteed to some of us.
  • According to Microsoft, Open source is viral. Therefore I doubt that they will allow it .net to work with open source. You can get (or used to) source code for MFC, but you could not build it for any platform that Microsoft didn't already have it on. We have seen M$ block competing OSs, why would we think this would be any different?

  • if the opensource community 'embraced and extended' .NET and then GPL'd the extensions so that M$ couldn't use them without revealing its sourcecode?

    you could ONLY talk to opensource entities since these were the ones that had the 'extensions' in them (just like M$'s webserver has extensions that make many browsers incompatible).

    fight tyranny with irony, I always say.

    --

  • I dont mean to bust anyone's ballon, but when was last time you saw an OSS project (other than the actual kernel) start from scratch, create a spec, follow it, implement it in a timely manner, and deliver a quality-end product?

    • Jabber
    • Perl
    • Python
    • Ruby
    • apt
    • Kerberos
    • ReiserFS
    • ssh (has always been available open-source either originally through 'official' ssh 1.x and now OpenSSH)
    • HTTP and HTML (the CERN server and Tim Berners-Lee's original web browser, through to Apache and Konqueror)
    • DNS (bind)
    • SMTP (sendmail)
    • IRC
    • Squid/Harvest (Harvest basically invented web-caching)
    • Mosix (more innovative than Beowulf, which, whilst cool, had been done before with other systems)
    • RCS, then CVS
    • X (X's reference implementation has always been open-source apart from a short period of insanity by the Open Group a few years ago)
    • UNIX (which has a traceable open-source lineage all the way back to the beginning through to the various BSD's now)
    • SLIP, leading later to PPP
    • Freenet (granted, Freenet hasn't yet found massive popularity... but it will, just give it time. massive infrastructure like Freenet takes time to implement, no matter what development model you're using)
    • Rasmol (you may never heard of it, but if you're a chemist you certainly will have)
    • vic and related multicast networking/videoconferencing tools
    • CDDB (protocol and original open-source server software developed as part of the xmcd project)
    • nmap
    • XaoS (show me another real-time fractal zoomer :)

    That's just off the top off my head, and stuff that is unarguably innovative and ahead of (either time-wise or functionality-wise) anything the proprietary software world has come up with. If you take a slightly broader view of innovation or Open Source, then you can include things like:

    • Ogg Vorbis (innovative if you think WMA is innovative)
    • PGP (source code has always been available, although not under an OSI-approved license, and suffered from patent problems)
    • bzip2 (innovative and very effective algorithm, even if file compression isn't exactly new)

      So don't give us that crap about open-source software not being innovative - it simply isn't true.

  • Would you imagine it to be plausible to be able to pull together and effictively use the OSS community in a way to create a substantially large software-platform AND deliver it for free AND deliver it based on standards (in true OSS fashion, of course) AND deliver it in a timely manner AND use it to stave of a .NET barrage by MS? I simply can't imagine it.

    Why bother when such infrastructure already exists?

    It's called XPCOM and is probably the primary reason why Mozilla has been so slow at getting a decent web browser out the door. Rather than simply develop a web-browser and associated tools, the Mozilla project took it upon themselves to develop an entire web-applications platform as well. Using a combination of Java, XUL (merely an XML schema), ECMAScript and the XPCOM objects, it's entirely possible to write entire office suites for Mozilla that can run straight off the web. Now, doesn't that sound rather familiar to the idea behind .NET?

  • So okay, thats the list. Good list. But here is the point: these are projects, that for most part (a) opened after completetion, or (b) didnt use the OSS development model. For example, X-Windows was released in reference form, but it was developed as a community project initially. Same witg PGP, Kerberos, Perl, Python (maybe, not sure on that one), Mosix. I am not sure about most of the other ones, I'd have to look into them more.

    Aaaah, ok, I see. Your complaint then is not with open-source but with the Bazaar development model vs. the Cathedral development model. Open-source software is generally developed in one of two ways: the 'Bazaar' model, where the project is improved little-by-little by many different developers, usually over the internet, and tends to gradually evolve - the Linux kernel is a good example, and the 'Cathedral' model, where one developer (or a closely-knit group of developers, usually with a clear leader) design and construct the software in relative obscurity, and only then release the software. X is a good example of this model, although XFree86 is moving towards a more Bazaar-like development model.

    Both have their advantages and disadvantages:
    the Bazaar model tends to keep software simple, modular and develops quickly as long as the originator of the project can interest other developers. This is simply due to the nature of the development process - large, unwieldy monolithic bits of software are not very appealing to potential developers. Because the development process here favours simple, modular software, the engineering tends to be superior. However, it can be difficult to implement new ideas because they must be implemented to the satisfaction and understanding of a large group of developers who almost all would like to keep the software... yes, simple and modular.
    The Cathedral model, on the other hand, favours large, complex bits of software for exactly the same reasons. Because the developer only has themselves, or a small number of developers who know the project inside and out to please, it is much easier to architect a new system or implement a new idea. However, because the developers are comfortable with the project's complexity and there are few people looking at and commenting on the source code, it is easy for the project to become large, bloated and unreliable.

    In the open-source world, both the Bazaar and the Cathedral models can happily coexist, and do, to the overall advantage of the community as a whole. Note that some of the most innovative open-source projects are indeed developed Cathedral-style, but that the most reliably-engineered software tends to be developed Bazaar-style. In the closed-source world, only the Cathedral model really works - that is just the nature of proprietary development, that you cannot have thousands of developers making tiny changes all the time. Hence, the reputation of proprietary software for being laden with new (and often pointless) features whilst suffering from a lack of reliability.

    Don't get the two things mixed up. Not all open-source software is developed Bazaar-style, and if you do have a valid complaint (I'm still not convinced that you do) then it is with that development style rather than with open-source software itself. If you're still not convinced, read Eric Raymond's classic essay 'The Cathedral and the Bazaar' [tuxedo.org]. His take is that the Bazaar development model is superior for all sorts of other reasons too - but perhaps (in your view) coming up with new ideas isn't one of them. Still, like I said, there's a place for both models in the open-source world.

  • Thats not a criticism of Mozilla, or an insult to their browser (which I use but find to be slow on my K62-350) but it is rather an observation about OSS in general - even the big projects have speed and "agility" issues. MS big as they shifted gears mighty quick when you really look at it.

    Indeed - I can't deny that Microsoft can turn on a dime when it wants to. However, if open-source projects have an agility problem (and I don't agree with you on that one either - take WebDAV as an example: WebDAV was toted by Microsoft as a significant part of their strategy for integrating the web into the desktop, and indeed Microsoft was one of the major forces behind it... yet Apache still supported it before IIS did) then it is because open-source projects never need to turn on a dime.

    Think about it: open-source developers are much more closely related to their users than a Microsoft developer could ever be. Most of them are developing software for their own use, and the side-effect that they can give away their software to other people is just a bonus. Even if they're not doing it just for their own use, the mailing-list and bug-reporting culture that open-source fosters brings the developers much more closely in contact with their end-users than a Microsoftie could ever hope to be. Also, in most open-source projects there's no manager dictating strategy from above. The upshot of this is that a sane open-source project should never get too far from what its users want, now and in the near future, so there's absolutely no reason for an open-source project to suddenly make a sharp change in strategy.

    This is also precisely why I don't think the whole polishing-up of XPCOM and its turning into a proper application platform will ever happen: because as a user of open-source software, I couldn't give a monkeys about .NET and the model that it uses. Why should I bother switching to a network-based applications platform when the apps I have that run locally are just fine? I'm not paying for the application software that I use, it's freely available, so the subscription model that .NET offers is meaningless. Sure, if .NET was available for Linux, I might get to use the latest and greatest MS Office, but frankly, the open-source alternative isn't so bad these days, what with KOffice maturing nicely and OpenOffice available and being ported to GNOME. Are there any significant other advantages to .NET from an end-user point of view? I'm not sure there are. There are huge disadvantages too - I have a sucky network connection, and what if I want to use software when I'm not connected at all? I feel much safer entrusting my personal details to my own machine than to someone else as well.

    Frankly, .NET is meaningless to me and to open-source in general. Microsoft can't force it on me like they can in the Windows world because they don't control the platform. It's not significantly attractive to me, because in using it I'd have to pay money to do stuff that I can do using local applications for free, and without a company I'm not sure I trust, possibly in a different country, holding my data for me.

    Tell me again why I should be bothered about .NET?

  • Unh hunh.. And Osama Bin-Laden will celebrate the 4th of July, and the Lion will lay down with the Lamb... If you think that MS is going to release ANYTHING under a free license after all that they've said about the GPL, you have to be smoking something that I want!

    _If_ the source is even available, it'll be under MS's shared source program, and likely include such wonderful EULA provisions like banning the use of GPL'd software in conjunction with it... Why would they 'legitimize' Free software after spending so much time trying to stop it's 'viral' influence?

  • Don't forget that one possible court-imposed punishment of Microsoft could be the opening of its code. If access wasn't limited to major software competitors and was freely accessible, would re-engineering of .NET be good, bad, or otherwise?
  • What would opening up Microsoft's source code for public consumtion do as a punishment to their monopoly? If you know the answer I would love to hear it.
    Simply, it prevents MS from turning its code into proprietary material. What I mean is that, by opening the source, any entity could launch its own Windows distro and foster competition where there is none today. This consumer choice equals falling prices and improved products. Furthermore, MS's Office development teams get early looks and details on the upcoming OS releases. This gives the next suite a big headstart. Open sourcing Windows alone would eliminate this advantage and bring real opportunity back into the business suite arena.
  • Having a DOT along with a NET captures both the business angle (DOT-com)

    So .NET contains the dot-com business angle...does that mean that .NET is destined to flop?

    ---
    DOOR!!
  • a. Linux (the kernel) was originally formulated to be UNIX-like, conform to POSIX, and be a MINIX workalike (plus features, of course, and optimized for the 386). b. The GNU part of GNU\Linux is all about taking existing commerical tools and implementing them in an open-source\free way. c. XFree86 is a free implementation of the X-Server design. d. OpenOffice is a massive attempt to compete with MS-Office and be an Office-workalike. e. Mozilla is an attempt to movie what was Navigator into the modern, spec-compliant age and wrest control back from IE. f. SAMBA is a major project to attempt to imitate to the point of compatibility SMB sharing in Windows.

    ..you forgot about gnutella! Swift, fast, open source, and the protocol was written pretty much from scratch!

  • The .GNU [dotgnu.org] project is already in the planning stage.

  • .NET is a lock-in trap. All the crap about it being an open protocol at the W3C is pointless; are the W3C going to shut MS down when they start adding to the protocol to make life difficult for third parties? No.

    The "Open Protocol" is a MARKETING ploy.

    The long term goal of .NET is to trap everyone into relying on MS for all their computing needs.

    Who the hell wants to reverse-engineer a trap?

    TWW

  • 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
  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • by account_deleted ( 4530225 ) on Tuesday July 03, 2001 @07:29PM (#110408)
    Comment removed based on user account deletion
  • by account_deleted ( 4530225 ) on Tuesday July 03, 2001 @07:05PM (#110409)
    Comment removed based on user account deletion
  • by account_deleted ( 4530225 ) on Tuesday July 03, 2001 @10:45PM (#110410)
    Comment removed based on user account deletion
  • by account_deleted ( 4530225 ) on Tuesday July 03, 2001 @04:56PM (#110411)
    Comment removed based on user account deletion
  • I honestly think that is a very good idea, this is one thing that really would hurt M$, wasn't there another project that started out as a BBS but now is adding a MAPI backend also?

    Attacking the GPL etc could be a very smartly timed move by M$, imagine, get the Opensource zealots in to a fit and state "No way is .NET going to be ported to Linux" and let the fools do the work. Are they smart enough for this? Are we a porn in their little game? Maybe not but then again?

    I guess time will tell, going to be an intersting ride anyway...

  • by _ganja_ ( 179968 ) on Tuesday July 03, 2001 @05:11PM (#110415) Homepage
    Arrgg fuck, should have previewed that before posting it :s/porn/pawn

    I've given away slightly more insight in to my life than I wanted to there I think.

  • But I'm not sure embracing C# is the best way to "stick it to Microsoft"...

    But why should the language matter? Is there any reason not to create .NET bindings for c++, or even scheme and Perl? That could make the clone better than the original.

  • Yes, it will be possible to do an OSS port of .NET. You simply can't create something as big and as ubiquitous as that and keep details of the protocols, et al that it uses under wraps. AFAIK, Microsoft has no intention of doing that.

    What they do intend doing is whacking as much IP protection on it as possible, so that they can control the future development of the transaction models (such as HailStorm) and thereby control a large amount of the transaction-based activity on the 'net (most e-commerce, if they're successful). It simply won't be legal to create an OS/Free port of .NET without MS's say-so, and by the way they're behaving, they ain't gonna say so.

    Remember, profit isn't as important to MS as control is.

  • I could be wrong, but who's asking for this? What major need is Microsoft expecting to solve with .NET? Microsoft with their monopoly is able to change the rules of successful product development -- instead of developing something that solves people's problems, they spend billions developing things to entrench their monopoly but no one complains about.

    I'm sorry, but I have to disagree with you on this one. The Web as it stands is a lousy technology with which to manage transaction-based activities. As an example, let's say you want to buy something online without using a credit card. You need to get the price from the vendor, contact your bank, authorize a funds transfer, then notify the vendor that the transfer has been completed or is waiting for their confirmation. Now, try to come up with a "1-click" solution that will do all this using the today's Web as its technological basis. Not possible.

    The Web as it stands simply can't do stuff like this. It was essentially designed for information retrieval, not complex multi-stage transactions. As people try to use it for more and more of their daily business, they will come to realize this, and that's when they'll want something like .NET to provide the transaction services they need.

    So yes, I think there is a need for the kind of services that .NET provides, and I therefore think that it's important for the OS/Free software communities to come up with a port or an alternative.

  • These instructions are from here [develop.com]

    In Visual Studio.NET (beta 2 code)

    (a) Go to the "Help" menu, select "Edit Filters"

    (b) In "List of Available Attributes and their Values" expand "Target Operating System (TargetOS)

    ...and you will get....

    UPDATE (5 p.m.): HERE IS THE LIST OF OS's THAT .NET WILL SUPPORT:

    The "Target Operating System (TargetOS)" list is:

    Linux (kbLinux)

    UNIX (kbUNIX)

    Windows (Windows)

    Macintosh (kbMAC)

    Windows CE (WinCE)

  • by rabtech ( 223758 ) on Wednesday July 04, 2001 @06:20AM (#110438) Homepage
    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.

    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 .NET programming side is available. As for the extra frills, you'll have to use Windows for those.

    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

  • Dan,

    I found your comments very interesting.

    Maybe Open Source programming needs an Open Source design team.

  • This is an important point.

    Microsoft has a monopoly, and is so abusive-minded that it can't see how abusiveness is self-destructive.

    Microsoft can continue releasing deliberately poor quality software, so that users will always feel motivated to upgrade when a few of the bugs are fixed, and a few features are added.

    In my opinion, Judge Jackson was correct to compare Microsoft with drug traffickers. However, it was not correct to do so publicly during judicial proceedings.

    (See page 111 of the decision of the Court of Appeals [PDF format] [cnn.com].)
  • by DaSyonic ( 238637 ) <DaSyonic.yahoo@com> on Tuesday July 03, 2001 @04:26PM (#110452) Homepage
    How about first reverse engineer Microsoft Exchange? A project exists [advogato.org] for this, but volunteers are badly needed. I for one have offered to volunteer, but there arent yet enough people who really want to help make this a reality.

    Nothing could help bring Linux to the backend for corporations more so than this... OpenMail [openmail.com] and Mailone [openone.com] are costly, and OpenMail is also now dead. This is a needed project!

  • If you make an Open Source, 3rd-party port of .NET, they'll just change the underlying protocols in the next version to break it. They do that routinely with their own data formats (MS Word), as well as with open and existing formats and protocols (non-standard Latin-1 encoding that looks shitty in other browsers, broken Kerberos implementation).

    If you really want to see a widely-adopted, cross-platform architecture of this sort, fix CORBA, roll your own, or do anything but tilt at this windmill - they'll only move the target on you.

    OK,
    - B
    --


  • >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.

    What, you mean, the way that samba [samba.org] is " much more reliable [securityfocus.com]" than Microsoft's implementation of SMB? (Hint: select 'bugtraq', search for 'samba': I get more than 150 hits... althogh the articles themselves aren't available, I'm getting this error: "Sql.sql(): Couldn't connect using the mysql database"... irony, gotta love it)

    Don't be so sure that all Microsoft software is complete rubbish, or that an open source or free implementation would automatically be better. The only way in which all free software is better than all Microsoft software is in it's freedom. That's the important factor to me, but most PHBs could care less about freedom (if they even understood the concept.) Yet when their expectations of Linux and free software are set by that sort of unthinking hype - Linux is far more secure than Windows, Linux is much more reliable than Windows, you know the tune - all that happens is that when they try it out, and it dumps core, or their local MS astroturfer points out tha bugtraq carries tens of posts a DAY listing remote root exploits in all sorts of Unix software, they decide never to trust those weird communist amateur hippy types.

    That's why I've come down on the FSF point of view rather than the Open Source Institute's point of view.

    (Of course, it goes without saying that quite a lot of Free software *is* more reliable / secure / etc than the MS version... which isn't the point I'm making)
    --
    "I'm not downloaded, I'm just loaded and down"

  • by Proud Geek ( 260376 ) on Tuesday July 03, 2001 @04:23PM (#110462) Homepage Journal
    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.

E = MC ** 2 +- 3db

Working...