Open.NET — .NET Libraries Go "Open Source"
An anonymous reader writes "whurley just posted a blog about Microsoft's announcement To Make .NET Libraries available under a crippled 'Open Source' program using their new Microsoft Reference License. The post includes the official pr doc from Microsoft as well as several points about how this really isn't open source. One example: If a developer finds a bug in the code, rather than fixing it themselves and submitting a patch to the community they'll be encouraged to submit feedback via the product feedback center."
they'll be encouraged to submit feedback via the product feedback center
In some ways I'd rather see these things organized "under one roof". As long as the product feedback center is responsive I don't think this is going to be a big deal for most.
Dedicated Cthulhu Cultist since 4523 BC.
Ahh yes, another blog advertisement from "whurley", the man who assumes everyone knows his name, when no one actually does.
Any bets on who the AC that posted the story was?
At least part of the company is *trying*. Good job, .NET Execs :)
Seriously, most of us capable of seeing the negatives don't need help from the poster to see them. All those who don't see these licenses as not completely open source aren't going to have their minds changed by mini rants.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
Being exposed raises some serious issues regarding the future employability of the "exposed" developers.
Lacking <sarcasm> tags,
You can already see all the source of the .NET framework using Lutz Roeder's Reflection tool. I use this all the time to see how the innards of functions work when something goes screwy with .NET.
If you're interested you can check out the free tool here: http://www.aisto.com/roeder/dotnet/
they'll be
encouraged to submit feedback via the product feedback center
I do not think that word means what you think it means
Nowhere in Microsoft's announcement do they in any way claim that they are releasing anything as open source. But hey, don't let that stop you from attacking Microsoft for not doing something they never claimed to do nor have any obligation to do.
This doesn't seem that odd to me. Anyone else know of a major open source project where your patch of the day is guaranteed to end up in main line code?
If you see the code and then create something remotely like it, MS will sue your ass off. .Net
This way, the more people who see the code will become "Tainted" for clean-room rewrites of parts of
Brilliant!
(This is the "Embrasse" portion of the plan to kill of Mono.)
Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
The Microsoft announcement says specifically and repeatedly that this is not "open source" and explains why they chose not to use such a license. They seem to understand the term a lot better than "whurley" does.
What I'm listening to now on Pandora...
Bullshit. Complete and utter FUD sucking bullshit.
.NET issues. Obviously you aren't a .NET developer, or have dabbled a bit but are carrying around a very heavy bias for some reason.
;)
MS is very responsive wrt
All kinds of issues? Kinda over-loaded statement there as well don't you think?
I'm not even going to bother because, especially at the current dollar value, your 2 cents ain't worth jack.
You want to actually have a conversation other than digging for free mod points for just bashing MS aimlessly, they feel free to try again. Don't worry, I'll take the inevitable hit for speaking up
No Comment.
Hopefully this is just the first step. C# .Net is a good programming language, if it had been developed by anyone but Microsoft slashdotters would love it. And Microsoft did not even have to open it up this much. I know the license sucks now, but give it time. As Confucius says "A journey of a thousand miles begins with a single step." Let's hope this is just the first step to a full open source .Net.
What issues are you talking about exactly? I've worked with .Net for six years and am unaware of "all kinds of issues". Got any references? I can't think of a single blocking issue I've ever come up against.
Please post your sources for why .Net has so many issues that make it look like MS is looking for handouts.
A few suggestions:
Okay, yes, I was just pulling words out of the thesaurus at the end there....
I'd have to agree. For example, one of the constant Charlie Foxtrots never really fixed has been the whole url encoding/decoding nightmare:
.NET. But 'open' this is not. Open is about people finding problems like above and rolling in better solutions.
http://blogs.msdn.com/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx
Add to it the multiple different ways to encode/decode text using different classes and writers, and the brainscrew is complete. Things that could be made a whole lot better, but never were.
Don't even get me started on the 256 character limit on the path info/arg part of urls in ASP.NET.
With that said, I don't hate
When .NET was announced as a platform independent language, I always struggled to imagine Microsoft developing the framework on anything other than Windows. Can you imagine Microsoft developing class libraries for Linux, or Apple Macs? Surely the world would end.
.NET framework will be developed for other platforms. And once that happens MS can help nuture a happy little band of developers, all sucking up MSDN licenced tools.
So this move is a fairly wise one by MS. There's now a chance that the
So they encourage you to report things to them rather than distributing a patch yourself. So what? Trolltech does this, MySQL does this, Sun does this, Mozilla does this; in fact virtually every significantly-sized open source project encourages you to fix problems through their own channels rather than throwing a patch around yourself. It's just good sense.
I am trolling
Borland do this and it's a real boon when working with a framework/library to be able to see the source and debug it. It's an obvious move that will make .NET and VS more attractive.
Open source opponents complain that the GPL is viral. I think Microsoft's "open source" license is also viral.
Download a copy. Look at the source code. Now your brain is infected with the Microsoft "Intellectual Property" virus. If you ever work on Mono, could the fact that you have looked at Microsoft's source become some basis for a lawsuit?
I'll see your senator, and I'll raise you two judges.
Also interesting is section 3(B):
(B) If you begin patent litigation against the Licensor over patents that you think may apply to the software (including a cross-claim or counterclaim in a lawsuit), your license to the software ends automatically.
Is your patch "guaranteed to end up in main line code"? No, of course not. Is it likely to if your patch fixes a bug and works well with the rest of the system. Hell yes!
This "feedback" system is a joke and an insult to competent developers...
1, 2, 3, 4, 5... That's the combination on my luggage!
Why would they even want to kill Mono? The deal with Novell, and the open support of Moonlight tells me they want the opposite.
.Net mindshare, and the worst that could happen is Microsoft gets itself a little deeper into the *nix world.
Mono just increases
I don't need no instructions to know how to rock!!!!
Rememeber IBM? They used to be the gigantic Evil Empire everyone thought would either become the overlords of humanity, or implode gloriously in a blazing fireball of liberation.
Instead they became just another business, later honorably defending (their contributions to) the Linux source code against the wretched SCO. Their interests have become more aligned with that of their customers.
I think Microsoft has less wiggle-room to remain viable than IBM did when they lost total domination over their market (because MS's business is mainly about using restrictive copyright licensing to make sure they're the only ones controlling the software on PCs, which quite different from what IBM's business is) but something similar is happening, however slowly and painfully.
Microsoft knows, to some degree, that in order to remain relevant it must give people access to the guts of its software. The software market has become far too complex for the ancient ways of floppies-in-a-box style business to work. However, as their Open.NET idea shows, they're still trying to keep as much control as possible, for as long as possible...
The original 1991 team that developed the Microsoft Foundation Classes 1.0 (to go with the first Microsoft C++ compiler, and even before the first C++ Visual Studio) was planning to go completely "closed source." It makes sense from a library point of view to close access to the implementation, and only offer the interfaces in header files. However, I was one of the folks on that team that felt that since this was the first "thin" wrapper on the C Win32 API, it was more important to show just how thin that wrapper was, and to offer visibility into the MFC implementation. It wasn't "open source" but it was "source provided as documentation." You could still build MFC on Borland's Win32-ready compiler, in fact. Since I myself was fairly experienced with Win32 but not with C++ (as was the target market), I felt this was a reasonable compromise.
Before you throw eggs at me, let me point out that I then left that group before they invented CDocument and all the ugly MFC hell that has become associated with bloat. Before CDocument, it was essentially a reasonable alternative to STL with some HWND wrappers. Afterwards, the command-routing and OLE-managing framework turned almost any MFC app into a real rats' nest of unmaintainable spaghetti. I still wrote apps in MFC, but I have less and less stomach for it, in the rare instances I must develop Win32 at all.
[
Because they can increase the mindshare, then kill it off if enough people start writing .NET apps on other platforms. Then those people are forced to go to Microsoft platforms.
Agree completely, it's a complete trap. .net is such a good idea, then the product they forked it from is a valid idea also, i.e. Java. .NET proves that Java is a success to MS and they wanted to copy that success. Their plan since then is to wreck Java and now wreck Mono because that leads to Linux even though they liked the fact it distracted attention away from Java.
If
The only way you can get into more trouble with reading MS's code than you would otherwise is if you duplicate actual lines of code thus violating their copyright. If you violate their patents, they could sue you anyway and reading their code wouldn't be relvant to the case.
The biggest issues I have seen with the transition to .net are in the richtextbox, the printing model and the IDE itself.
.net you need more, there is no flow control and you have to manage your code backwards (try a deeply nested set of for loops with conditions and pagination) which would be simple in procedural code is a nightmare here.
Try adding an RTF box onto a form and messing with a selection (for instance setting it to bold), the old method would allow the other font attributes to remain, now you change the font styling for the entire selection: bold italic font size etc.
Without calling back to the COM interop or recursing each character on a hidden control you are screwed.
Printing is geared towards the developer being given a piece of paper to print on and informing
It is too easy for the IDE to trip itself up and get in your way, from freezing for minutes on end to just getting things wrong (errors when reopening a form you know the code is valid for).
The actual core language is wonderful, but there are lots still wrong with the interface and libraries.
liqbase
Windows.Forms has a lot of issues which are mainly design flaws and limitations. Some of them can be worked around by creating your own controls or buying 3rd party controls (if you can find ones that don't completely suck), but they exist nonetheless. If you are not aware of this, then you either don't use .Net for GUI, or are doing very simple GUI's.
The C# language itself has a number of design flaws, but I guess those are mostly a matter of opinion. Some were fixed in 2.0, many weren't. Some are just too ingrained in the design of the language that it would be very difficult to fix without breaking everything.
that can be applied when MS claims 'open source' on products that do NOT have open source? IANAL but it seems a fair assessment of the facts to counter that this is NOT open source, and therefore the advertising and promotional material is misleading, and in fact, in violation of such laws?
Support NYCountryLawyer RIAA vs People
Obviously, you've never written a patch in your life... Submitting a bugfix via a text webform is akin to performing surgery by talking someone through it over a phone.
1, 2, 3, 4, 5... That's the combination on my luggage!
.NET was never a fork of Java. Java itself has been largely irrelevant to the Windows world for about a decade: ever since Sun decided that MS's version was making the performance on other platforms look bad and decided to kill it by suing MS.
Has it ever been any different with Microsoft?
The worst part is as soon as it gets near usable, like XP they announce it is going away.
-------
Posted anon to avoid MS downmods
Microsoft never claimed 'open source'. Slashdot spun it that way in order to bash Microsoft yet again.
-- "I never gave these stories much credence." - HAL 9000
I was wondering how slashdot would report this story. I knew that they would give it negative spin because it's not open source, but I didn't think they would actually try to suggest that Microsoft claimed that this was open source and then bash them for not meeting that claim.
.NET libs into VS 2008, including downloading the appropriate source from Microsoft's site on demand. There are other goodies as well.
Microsoft fully acknowledges that this code is to be released under MSRL, "Microsoft Reference Licenese", which Microsoft does not claim to be an open source license (it is not one of the Ms licenses that were submitted to OSI).
But the code is still valuable as it eases debugging. This similar to Microsoft's providing the source code to ATL, MFC, and their CRT. Much of this code was already available under Rotor2, but now we get lots more code, including WinForms and WPF, and more will be rleased in the future.
And it's not just code, but Microsoft including integrated debugging of
See here for detaitls:
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx
-- "I never gave these stories much credence." - HAL 9000
I though it was because MS did not implement features available in Sun's version
It's existence (MS-JAVA) was holding back the progress of the whole Java language Developers couldn't use updated functionality and PHBs had warm-n-fussy feeling about MS-JAVA and didn't want to upgrade to Sun's Java.
Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
Your two specific issues are well known things that changed for traditional VB developers.
.Net. Just because some think that making things work differently than previously doesn't mean they are broken.
Good or bad, things are different for developers in
VB.Net is not VB6, despite how much work MS put into making it look the same.
No Comment.
Does anyone else have the impression that the Microsoft Permissive License is nothing more than a means of showing source, hoping that others will copy it into some product and thereby be liable of some infringement and be sued?
Its obvious, as others have posted, that this is not real Open Source. And its not clear that this will accelerate the finding, or more importantly fixing, of Microsoft bugs, since people cannot legally patch issues themselves.
> ...ever since Sun decided that MS's version was making the performance on other platforms look bad and decided to kill it by suing MS...
What ground there was for suing if MS version were compliant to java specs and just faster? None, I guess.
Could it be Sun thwarted an attempt to embrace and extend, instead?
If MS just made a faster VM Sun might have even been happy. Let users on the measly PC have fun while they think about big biz on big boxii.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
Ignoring the flame-bait and complete ignorance... The *reference* implementation for .Net which is remarkably similar to the production version is here:
.Net is pretty damn open. Remove your heads from your asses.
http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en
It contains the C/C++ source for the CLR, CSC and C# source for the Framework that compiles on FreeBSD, Windows and OS X. There are PPC/ARM/x86/x86-64 ports in the code.
It can and will be run anywhere.
This is simply wrong. Why? Because "duplication" isn't the legal test to see whether intellectual property has been misappropriated. When code is copied, it's often changed and tweaked substantially, so in court the original author will still claim misappropriation. A lot of code out there tends to look similar, so it will be difficult to show you DIDN'T use Microsoft code.
.NET developers from ever contributing to Mono, pretty much.
In short, Microsoft in one fell swoop has eliminated a huge chunk of
E pluribus unum
But C# is exactly the same as Java and ... wait for it ... runs in a VM. That validates the JVM idea and Java.
C# is just an MS copy so that they can control & extinguish the rivals.
Seems like it should be called visible source instead of open source
Even the linux kernel has someone guarding the gate, unless, of course, you are willing to maintain your own branch/fork
All in the title ;-)
This is when Mono main developers should move to Europe, and stay protected from Microsoft.
Then just copy/paste/rewrite at free will, and be protected by the EU. They have already told Microsoft to open up their libraries, so I don't think they will let Mono be shut down.
This is an interesting move by Microsoft. In summary, it seems to me that they are attempting to appeal to the Linux crowd. This will probably be a semi-success. Additionally, they may be releasing it so that people will look at it and report bugs to them. Just a quick thought. Clete2
define:pus
A pale yellow or green fluid found where there is an infection.
Patents Drive Free Software as Hurricanes Drive Construction Industry
Sure, because we all know that Sun invented virtual machines.
So again, we see the hypocracy of FOSSies. The rant used to be that it was "just about seeing the source code"... but now that they can actually SEE the source code... they whine about the license. Now that MS has an open source license which allows them to retain ownership (which seems perfectly fair, since they paid the programmers who wrote it), the FOSSie zealots are whining about "crippled" licenses. Who cares? You guys SAID you JUST wanted to see the source!!!
But as everyone knows, the FOSSies actually want to tell MS what to do and how to do it, without actually having anything at risk (like by working there, or being a stockholder, or an investor, etc). They want all the authority, and none of the risk or responsibility. It's no wonder so many FOSSies are conservatives: that same attitude applied to politics gives us the Republican party.
FOSS means every software company must bend their knee to Stallman and his horde of zealots. But hey, nobody seems to be jumping on board with the GPLv3, so it seems everyone knows Stallman's game and doesn't want to play it.
You're confused. The only legal issue involved with seeing unsecret code is copyright, not other forms of IP. Claiming that somebody has written code that performs the same function as your code is not a valid argument in a copyright infringement case.
I doubt that the fact that the code merely looks similiar would carry much legal weight, but if, as you claim, "A lot of code out there tends to look similar", then even clean-room code could look like MS's and you could still be found to be violating MS's copyright. In fact, the clean-room code is probably more likely to be similiar because with access to MS's source you'd go out of your way to make it look different.
Now if the code represented a trade secret or a patent it would be different. It can't be a trade secret because MS is making it public. If it's covered by a patent, then even a clean-room implementation would be equally vunerable.
Can I view the code? Yes? Then it's open source.
1&1 - Cheap domain and web hosting.
Wow. It really does sound like a trap. MS Dev Studio calls home to get the source code. I'm willing to bet that MS will also *log* the IP and the Dev Studio's activation/registration information. I wouldn't be surprised if this feature is enabled by default, or will pop up a license notice that the developer will just click through without reading. Most anyone who works with any MSDN programming product is probably going to find themselves tainted.
EULAs are bad enough, but this is obnoxious to the point that it could be legally challenged, especially if debugging a small chunk of code is enough for you to be considered "tainted" in regards to the entire .net code base. It will be interesting to see if MS records what code you looked at (or if they don't, then why didn't they?)
Q. How does the debugging experience really work? Will the source code remain resident on the machine? Visual Studio will request source from a Microsoft (MSDN) server as needed when a developer steps into .NET Framework library code during in a debugging session.
Q. What if a company does not want to allow the .NET Framework source code or other library source code, to be viewed by its developers?
Viewing or debugging into the Microsoft library source code is an action that will require an explicit acceptance of the license, regardless of the mechanism by which developers view the code (whether in a developer tool like Visual Studio, or as a separate archive download). Companies that do not wish to view the source code should instruct their employees to not accept this license.
its a start...I guess
Geoff "Mandrake" Harrison for President
Sometimes Apathy is a good thing.............
You're forgetting that Reflector interprets the IL and produces source code equivalents of that. You don't get critical information that helps you understand how the code works and what its purpose is like comments and variable names.
You're also not taking into account that the assembler/compiler may perform optimizations and potentially restructure the IL to make it perform better but not necessarily resemble the original algorithm.
For example if you compile an assembly with a line of source code like:
string s = "abc" + "def" + "ghi";
Reflector will disassemble it into something equivalent to:
string var1 = "abcdefghi";
I'm not saying Reflector isn't useful. You can certainly use it to prove that your build department didn't apply a patch correctly or to troubleshoot a third party assembly that you don't have the source code for. Reflector does not make the original source code open source though.
We'll make great pets
This post has a very misleading title. .Net Framework.
Microsoft is deliberately NOT open sourcing the
They are releasing it as SHARED SOURCE.
Read more here: http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx
And slashdot, please fix the title.
Bad User. No biscuit!
Did you even read the article? You cannot do _anything_ with the code except to look at it. Heck, you can't even download the code for reference. Instead, MS Dev Studio's debugger will fetch the source code section from a Microsoft MSDN server as you step into it.
No one is going to use this "open source" code for anything without MS's explicit permission. I'll bet that the MSDN server will log your IP and product activation information. Thus anyone who uses the "open source" code will be tainted and unable to work on anything even remotely .net related without Microsoft's approval.
What they are saying is that they don't want to bother testing their products any more and they are looking for suckers who will do their work for them.
Agreed.
No offense intended, but I'm not sure how a post like this got modded so far up. Are we passing out tinfoil hats at the door now? (I know, I know. I must be new here.)
.NET language, everyone's writing apps to run on Windows, etc. Microsoft all over the place.
.NET devs to see/debug through the .NET libraries, making developing using their stuff more attractive to some subset of the developer community, or
Let's take as a given that Microsoft would like all developers to be using their technologies. In their perfect happy world, every developer is using Visual Studio as their IDE, their language of choice is a
In pursuit of that goal, is it more logical that they would make this move to:
A) Allow
B) Begin an intricate long-ranging litigation scheme against something like Mono, that even fewer developers than the subset in (A) know much about, that in no way is currently posing any kind of threat to their dominance (such as it is), on the off chance it might bear some kind of fruit years down the line?
Shit, Bond villains don't even bust out plans like the scenario you've concocted.
Sure, MS is greedy. Sure, they don't hold sacred the principles of freedom that you do. Sure, they may be evil -- but they're a generally *sensible* kind of evil, the kind that isn't building an elaborate cannon that shoots heads of lettuce while guns are available.
"No-o-ow... who wants to fix our bugs for free?"
[chirp chirp chirp]
"Anyone?"
[chirp chirp chirp]
These guys crack me up. Really.
CUR ALLOC 20195.....5804M
Out of curiosity, how much work have you done with Java and C#?
C# is to Java as Java is to C++ as C++ is to C on to infinity. To say that C# is just a copy of Java is about as much true and about as much false as saying Java is just a copy of C++. It is, and it isn't.
In each case you have a "new" language created based strongly on an old one, benefiting from the "mistakes" of the previous language.
The tricky part is, what's a mistake in the design of a language varies depending on your perspective and what you're trying to do it with -- and so the "evolved" language ends up better for some tasks and worse for others. Java addresses a ton of things that C++ doesn't do well (or require a much more seasoned C++ developer to do well), at the cost of becoming unsuitable (or at least, less suitable) for some uses, such as embedded programming or high-end game programming.
C# is that same kind of quasi-evolution from Java. It makes some things a lot easier to get right, but at a cost of giving up some of the things that are good about Java. The key here is that the differences between the two aren't as much in the base language's syntax as in the core frameworks/libraries that are built around them. That's what makes the chance to see more of what makes those libraries tick and why they made the design decisions they did interesting.
Actually, you're both right. Looking at the code makes you "tainted" and unable to work on similar projects, under US law. Looking at the code doesn't taint you, as long as you aren't outright lifting portions of it you're allowed inspiration under EU law.
No, Sun didn't invent them. They just made the best one.
By best, I mean fastest and most efficient for general use.
Can it be forked? If not then no it's not really "open".
I think a lot of people misunderstand the purpose behind Microsoft doing this. This is to aid debugging by allowing you to see what that mysterious function is actually doing. The fact this then makes it easy for people to report bugs is a very welcome by-product.
This sounds a lot like Linus' attempt to kill the BSD project. By making Linux's GPLed source so easy to get, all sort of BSD developers may be getting tainted, and now they'll have to admit BSD is a derived work of Linux, and they'll only be able to release it under GPL.
Brilliant!
There even further evidence of-- oh wait, I just realized something: I'm stark-raving paranoid lunatic.
"Believe me!" -- Donald Trump
Well, we could debate that, but it's irrelevant to the issue of C# as a fork of Java.
What "US law" are you referring to? That sounds like a trade secret issue, not copyright. This program effectively waives any right MS would have to protect this code as a trade secret.
wtf? Where's the "itsatrap" tag?!
Microsoft DID NOT call this "Open Source". An infantile Slashdotter with an agenda did just so he/she could have the straw man to knock down.
Hey, let me tell you about this new invention, it's called "glass", and it lets us see through a window even when it's closed.
to be open source.
It does not provide any rights to use the code for anything. Hence it is not open source.
LedgerSMB: Open source Accounting/ERP
This announcement is better than NOT having the code, is it not? At least you can see what it does.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
However, it's very clearly under one of their "Shared" Source licenses that they want to use to compete with actually open source licenses.
You know, the ones they've been trying to feed the OSI, etc.?
And the other licenses in the set of "Shared" source licenses have things like platform restrictions that don't allow you to use the code with anything except Microsoft Windows.
The mono devs are spread all over the world. That does nothing to exempt the mono project from following the rules. In fact, and this I must stress (and I apologize in advance for the caps), ANYONE WHO LOOKS AT MS.NET SOURCE CODE IS PROHIBITED FROM CONTRIBUTING TO MONO. So your copy/paste/rewrite statement is really missing the mark, and I seriously hope people wishing to contribute to mono don't see this as a chance to cut some corners and take a peek.
These actions are intended on hurting Mono while pretending they intend on "helping". Whats going to happen is they are going to go through the Mono code and find anyone who agreed to this licencse and see if they contributed to Mono.
.NET is NOT open source: It is pretending to be open source.
Its putting cheese in a mouse trap so they can do a SCO only for Mono, I advise nobody working on Mono go near this code. FOSS means the ability to see, modify and rediribute code,
Basically Microsoft is the "Intelligent Design" crowd of the software community, open source systems are growing in popularity and Microsoft knows they cannot destroy it from the outside (look at SCO) so they attempt to destroy it from within by pretending to be open like the "Intelligent Design" pretend to be scientific.
So Microsoft are attempting to skew the view of what open source is so they can attack it like the ID crowd attempts to confuse of what abiogenesis and evolution actually are so they can attack their little strawmen
How can you miss this? It's as clear as day! If you are working on the Mono project, stay away from the bait!
Make SELinux enforcing again!
That is a moot point. According to the rules of the mono project, anyone looking at ms code, either through reflector or from this newly released view-only source, or even by letting the debugger step in to the source, cannot contribute to mono, period. That rule is set in stone for the mono project, and always will be, whatever law you might wish to apply to it.
open = we show you the code - help us make money with it! (no, you don't get any of that - infact - if you want to use that product, you have to buy it for the normal price)
free = we donate this to everyone - who wants to participate? (you don't get money either, but you - and everyone else - gets the product)
stallman may be weird, but he's right...
The MAFIAA is a bunch of mindless jerks who will be the first up against the wall when the revolution comes
Are you tainted for life after seeing the code?
---- Booth was a patriot ----
The rant used to be that it was "just about seeing the source code"... but now that they can actually SEE the source code... they whine about the license.
/feeding the trolls //have another cookie
No, it's always been about the license. However, one key component of the license just happens to be, seeing the source. There are several other major components.
Just meeting one criteria does not make it "open". Just "visible".
And I'm sure anonymous troll knew this, he just wanted to latch onto the topmost post he could find that even remotely fit his rant topic.
I program in both free (Java) and non-free languages (VC++, VC#). I'm available for consulting, but my rate is 20% higher for non-free languages. 10% goes to my pocket, for the hassles of dealing with non-free languages. 10% goes to the FSF to help advance free software.
That's how I roll.
Mono is a boon to them. If people are using it then Microsoft can point out that .NET doesn't feed their monopoly because it runs on other platforms. Never mind that it doesn't run very WELL on other platforms - which their marketing team will leverage in any way they can, and will discourage developers from actually writing cross platform .NET stuff.
.NET, they can cripple its reputation easily be releasing new standards and extensions months after they've started working on the implementation so competing implementations will always look out of date and inferior.
.NET is in their ballcourt.
If Mono ever catches up and runs as well as the Windows version of
They LOVE Mono -
You, my friend, have obviously never taken a close look at ActiveX. Not only does the gun shoot lettuce, it's e. coli-laden lettuce, and it fires it straight out the back of the barrel down the shooter's throat. 8^)
Crumb's Corollary: Never bring a knife to a bun fight.
Sadly I've been forced to use ActiveX for things I'd never admit to under oath. Woe is the consultant.
Still, I maintain that Microsoft is sometimes evil and sometimes stupid, but rarely both. ActiveX mostly goes in my stupid pile.
What issues are you talking about exactly? I've worked with .Net for six years and am unaware of "all kinds of issues"
.lic files becoming corrupted, loosing the ability to type non-word characters, source safe integration breaking, files in the .Net temporary directory getting locked, and projects loosing the ability to load DLLs. These are all design time problems, so my impression was they got a low priority and MS just decided to let us live with it.
Maybe he's talking about the IDE. I've run into lots of junk that hasn't been fixed for years. Things like
I don't "get" any situation where they'd have an incentive to sue? if you're going to start suing developers writing for your own platform, its a short slippery slope into irrelevance. If they're going to try and sue people who are perhaps developing a compatible platform (ie, mono), it's just going to decrease the relevance of .net. If they decide to sue someone who has decided to write something similar in another language... well, different language != cut/paste - I'm not sure you could argue that it's outright plagarism?
Unless they have a patent on the process being replicated (in which case, you're fucked if you replicate the algorithm whether you've seen it in source or not) - i don't see that they have any legal recourse to sue? Then again, I live in a country with a *reasonably* sane legal system (at least compared to the US)...
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Um, Microsoft's license isn't "open source", not even Microsoft said it's "open source", and in fact there's no relation whatsoever between it and "open source".
The OSI definition of an open source license won't allow ANY license that doesn't commit to free redistribution to qualify as an one.
So take your straw man somewhere else.
The MS reference license is not an open source license, because it doesn't permit unrestricted redistribution and it leaves Microsoft the option of terminating it at will. Whoever write the subject line needs to go back to college (or maybe high school) to learn to read.
Open source means that the license is open-ended (the owner can't revoke it except if you violate specific terms explicitly spelled out in the license), transferrable (you can give someone else the code and pass on same rights you have), and permits unrestricted free redistribution (no license fees, no paperwork, if you get the code you get the license, no ifs, ands, or buts).
The license ONLY covers using the source to help you using Microsoft's own code.
The rights to the code are not in any way transferrable. Not even for documentation purposes.
In fact, given this license, I would recommend against any open source programmer even implying publicly they might be looking at that code.
Because it just opens you up for a big old interface copyright case.
Making source available in this way is really the worst thing for everybody. Why? Because if there are any similarities between Microsoft's code and other projects, Microsoft will argue that their code was copied. Sun has tried to do the same thing with Java source code in the past.
The only way to deal with this sort of crap is to make sure that no developer that works on Mono or other projects has looked at the code.
Don't look at source code unless it comes with a clear, unambiguous, OSI approved open source license.
The meaning of "open" obviously depend on the noun it is applied to, the Webster definition above makes no sense for "an open door".
The term "open source" was not used for source code before 1998, where a number of free software developers decided on a new term for free software, without ambiguity or the political connotations of "free". Their definition of the term is what can now be found on the OSI home page.
[ I challenge anyone to find a earlier reference. I have searched the Usenet archives myself, you won't find it there. ]
You've got it backwards.
MS added various win32 specific things to their build of the JVM.
The result was, since everyone used windows, and the extensions were useful on the common platform, that people used those extensions.
Their software then broken one of Java's fundamental tenets, which is that it'll work (some J2EE stuff excluded) on any platform for which there is a JVM, unchanged.
So Sun sued MS, and eventually won. During and after the lawsuit, there was a period of time when the JVM that shipped with windows was woefully behind the current reference JVM from sun. Thats probably what you're remembering.
But that was because the court ordered them to stop distributing any new versions.
One of the odd twists to the story is that Microsoft's JVM was hugely faster than Sun's JVM, so everyone used it.
Did YOU even bother reading the article? Did you even read the article? You cannot do _anything_ with the code except to look at it. Heck, you can't even download the code for reference. Instead, MS Dev Studio's debugger will fetch the source code section from a Microsoft MSDN server as you step into it. Allow me to quote straight from Scott Guthrie's blog:
http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx You'll be able to download the
It is more a case of a poor summary and /. readers not reading the friendly article, rather than any deliberate spin. Not exactly anything new around here.
> Anyone else know of a major open source project where your patch of the day is guaranteed to end > up in main line code?
Nope. On the other hand, I know of no free software project where you are forbidden to test a patch before submitting it.
The license forbids you to build the code on any platform (including MS Windows), so it is unlikely to help any porting efforts. The code is there purely for visual inspection. Think of it as a more detailed documentation.
Trolltech, MySQL and Mozilla all also encourage you to test your patch before submitting it. Microsoft *forbids* you to test your patch, or even to write it through normal means. The license does not allow modifying or building the libraries. The code is only there for visual inspection.
Unfortunatelly, you are the one that got it backwards. Problem was NOT that MS added win32 specific things - the same was done by others, for examle Apple and there were no lawsuits. Problem is that MS DID NOT implement RMI and JNI as it is in specification for Java 1.1, and also altered classes in the java.* package. It would be ok, if MS did this in com.ms.* package, but altering core libraries not to match specification is just plain wrong. I tried to find some article about the subject, this may be a good one: http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html
What we get from this is the ability to verify how something works in .NET. We had that from other MS libs long time ago. To me, that's the biggest news. So, MS probably thinks .NET code is good enough to be looked at now.
A Java or a C# programmer will have a hard time moving to modern idiomatic C++ (complete with template metaprogramming goodness). On the other hand, a Java programmer won't have much trouble moving to C#, and vise versa.
Examples? There's certainly nothing in the C# language that I'm aware of that could fall in this category. There's no "C#" library though (aside from a few core classes such as Object which are defined by the ISO C# language standard). There'sI've worked with .Net for six years and am unaware of "all kinds of issues"
.NET for 2 years. (I would add that I've never had those kind of problems with Java or just about anything else I've worked with)
What have you been doing? I've had all kinds of issues, from network connections being dropped even though they weren't, to the encryption libraies randomly (about one in 100,000 times) incorrectly encrypting a block, to projects that will only compile in release mode and not debug mode, to those stupid web projects that were broken from their inception, to code that runs find when compiled in debug mode but when in release mode (even with the same intermediate code) doesn't execute some of the blocks of code causing an error.
That's only the tip of the iceberg (especially when you include all the VStudio issues) and I've only been working with
thank God the internet isn't a human right.
Jesus fucking Christ, some people on Slashdot cannot hear the word Microsoft, a company of fifty thousand people with a shitload of diverse opinions, without thinking everything they do is part of some incredibly complex Machiavellian plan.
How about a simpler explanation:
Programmers: Hey Microsoft, we want the source code so we can step through it. Java already ships with library source and that's awesome.
Scott Gu: Sure, makes sense. Yo Ballmer, can I give them the source?
Ballmer: No, competition will learn our secrets for it.
Scott Gu: They already can see the source using Reflector, plus most of the runtime using the Rotor source. This would just let them debug easier thus making their life on Windows easier thus increasing the number of apps that run well on Windows thus increasing Windows sales.
Ballmer: OK then. I like more salez.
Ballmer: Developerz, developerz, developerz.
Scott Gu: OK, here's the source dudez.
Programmers: About fucking time! Thanks dude, this is great news for us.
Slashdot morons: It's a conspiracy! Didn't you see The Ring? Whoever sees the source dies seven days later.
Dejan
"Shared source" is NOT open source in any shape or form. Nor is it "like" open source, either.
When I worked for DEC 20 years ago, the company offered customers the chance to read (most of) the VMS source code. For a fee. Of course, there was never any question of their being allowed to change any of it, or use it for their own purposes. What DEC did then was not open source, and what Microsoft is doing today is just the same.
Why is it called "shared source" then, I hear you cry. Aha! That is left as an exercise for the student.
I am sure that there are many other solipsists out there.
Back when Sun was first pushing Java, Microsoft tried to build a platform on top of it. Microsoft had, once apon a time, a product called J++ which was essentially Java with some neat new features such as delegates. J++ was designed by Anders Hejlsberg, who was brought to Microsoft from Borland primarily to work on J++ as Microsoft's next-generation platform.
Sun objected vehemently to Microsoft's extended version Java. I can't say I really blame them, since Microsoft should perhaps have worked with Sun to get these extensions adopted as features of the standard Java rather. Nonetheless, Microsoft was left with a plan to move to what they would later call "managed code" but no platform to build it on.
C# and the .NET VM are the fallout from this. It's no coincidence that the unique features of C# are quite similar to the new features Microsoft added to Java in J++. It's also no coincidence that Anders Hejlsberg is the lead designer of the C# language. While I agree that it's not really fair to call C# a direct "copy" of Java, it's certainly Microsoft's answer to Java; it's unlikely that C# would exist today had Sun allowed Microsoft to build their platform on top of Java.
- Microsoft already owns over 230 patents it intends to use against open source projects. This is of course because it is quite simply impossible to write any piece of software without violating at least one patent...
- Microsoft has been shopping for deals with major Linux companies lately. A part of every contract has been something like an amnesty for that distro's users in the upcoming court cases.
- Now Microsoft is tainting open source developers further, because if a single Mono developer even looked at that
.NET code, the whole project is in legal jeopardy.
That said, I'm a bit on the fence as to whether MS will ever actually execute this strategy, because the PR impact would be disastrous (for Linux, too, incidentally. The whole open source community is already successfully branded as a bunch of pirating freeloader terrorists by the general public as it is). So this is obviously a last resort kind of thing...I always find it ironic that BSD license advocates hate it when people take BSD code and re-license it with GPL license but don't say a word when it goes proprietary.
If Linux was using the BSD license, MS (or some other greedy company) would have pilfered it entirely and would be trying to sue all the Linux programmers a-la-SCO to kill of competition.
GPL forced participation to develop the software further. With BSD, it's optional.
Most people are lazy and need a push.
Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
Look at the progress made by the open-source community, Microsoft is releasing source code for big projects - even if it is under undesirable licenses. The concept of open source has permeated Microsoft to the point where they feel they need to open up some to compete - a big victory, even if not complete, for the OSS community in general - IMHO: nice work guys/girls, keep it up.
I was crazy back when being crazy really meant something. (Charles Manson)
Is it some kind of blasphemy to support a statement like this with at least a few specific points without being asked to?
(I don't consider the parent a troll, incidentally.)
.NET Framework and the BCL, and comparing those to J2SE is a whole different kettle of fish.
A Java or a C# programmer will have a hard time moving to modern idiomatic C++ (complete with template metaprogramming goodness). On the other hand, a Java programmer won't have much trouble moving to C#, and vise versa.
I haven't done serious work with C++ in a number of years at this point; if you're saying things have changed recently to push C++ and Java further apart, I'll take your word for it.
It may just be the kinds of projects I've worked on, but Java programmers I knew who had to do a C++ project or vice versa didn't have big problems with the transition. I think you could put together a decent argument that it's a bigger leap of thinking to move from working in C to working in C++ -- and by that I mean, actually doing decent OOP and using the C++ features reasonably correctly, vs. using C++ to basically write C code -- than it is from C++ to Java.
There's no "C#" library though (aside from a few core classes such as Object which are defined by the ISO C# language standard). There's
I don't think you can really talk about C# without thinking of System.* as part of it, or talk about Java without thinking about java.* as part of it. I mean, obviously you can split that hair and you could try to forgo them as some kind of intellectual exercise, but I can't think of any non-trivial C# program I've ever seen that doesn't pull in something from the System namespace, and I can't think of any non-trivial Java program I've ever seen that doesn't at least use java.util.something. If you hire a developer for a real project and you're looking for C# experience or Java experience, what you're looking for has to include experience with using those piles of company-that-put-out-the-language-provided code as at least as important as anything else.
My memory is that this mostly revolved around J/Direct (replacement of JNI) and adding/modifying classes and methods within the core namespace (ie, rather than adding ms specific namespaces).
Even the article you linked describes the changes to the core class as 'the scariest': The last Java 1.1 incompatibility problem identified is actually the scariest. It is easy to avoid RMI and JNI if your application permits it: You just don't use them. The sticking point is that Microsoft decided the Core Java class libraries were insufficient for its needs. Now there's nothing wrong with extending things by subclassing and placing the new objects in a package outside of the java.* class hierarchy. But deciding to add about 50 methods and 50 fields into the classes within the java.awt, java.lang, and java.io packages, as Microsoft did, is extremely problematic. "Microsoft deceptively altered key classes and inserted them into their SDK," said Baratz, which results in developers thinking they are writing Java, when actually they are writing something that runs only on Internet Explorer. So in part sounds like we're talking about the same thing. Adding J/Direct for platform native stuff, and not using JNI for platform native stuff. Two sides of the same coin, I guess.
But I cant actually find any references to the specific java spec incompatibilities. It's probably in the original court filing, but I havent found that yet.
Nearly every news article that reporting on it at the time says the lawsuit was over 'Microsoft adding windows specific extensions to their jvm', but that is very vague, and general industry news (as opposed to developer-specific reporting) often gets the details wrong.
If you can find anything conclusive, please post it. Based on my limited research this morning, it looks like we both had a piece of it, and it was about 3 things: no RMI, no JNI - instead J/Direct, and modification of core classes in the namespace.
Is your patch "guaranteed to end up in main line code"? No, of course not. Is it likely to if your patch fixes a bug and works well with the rest of the system. Hell yes! This "feedback" system is a joke and an insult to competent developers...
Actually you are just having an emotional reaction and not thinking. Your assertion regarding a good fix getting into the system in erroneous, someone still needs to get it to the principle developers of a FOSS project who maintain the official branch of the code. These developers are looking around for incarnations of their code that might have been changed. They are busy making their own changes and expect people who want their changes to be mainlined to submit them. The FOSS procedure is pretty much the same as the Microsoft procedure.
If you can't fork it, it's not open source.
This move looks like Borland's politics on Delphi. They provided the source code of the vcl components and main libraries, however you couldn't modify or rebuild them.
After some years working on Delphi i can say that the access to the base code has its gainings, mainly when you have poor or ambigous documentation, because you can see what is really happen behind the curtains.
You will be graceful when using a function or a method and it doesn't behave as expected, because you can strip down the actual code.
I think MS should follow the lead of Oracle(Oracle Enterprise Linux) and create their own rebuild disto of the enterprise versions of Redhat, SuSe and Ubuntu. Undercut the support prices of the parent companies and watch the carnage that follows. You think people will not go for it but just like oracle's model cheaper but equal support will eventually win out, loyalty will lose. MS has always been in a better position to hurt Linux than the other way around. MS, just like the various Linux companies are a business and out to make money. There is no difference only except for the fact MS is a lot more successful at the game. I've never understood the irrational hatred of MS and the wholesale veneration of Linux. I understand the Free as in beer angle but business is business. Companies like redhat protect their copyrights as jealously as MS protect their copyrights and patents. After all we're not communists, both paths are equally good, right.
tremendously insightful post. thank you.
It's not narcissicism if it's true!
Tell the truth and get modded as "Flamebait" by the M$ fanbois. The facts still stand - .Net has issues - all kinds of issues and has for a long time. I can't even list them all here because no one wants to read through my laundry list of gripes. I don't know that ./ would even allow me to write a post that big. You can flip through some of the posts below this one to see what a few of them they are. Microsoft hasn't really put any effort in to fixing them.
Instead, the follow their usual business model. They just write stuff, release it, and use the general public (e.g. any one who is not a Microsoft employee) as a beta tester. It's much better for their profit margin to do that than it is to actually *gasp* OMFG pay to do some beta testing and fix a few things before you actually start selling the stuff.
If you're honest with yourself, you know that they do this with most all of their products. The versions that they initially release for sale most always suck because of bugs. It doesn't matter what it is - Office, Operating System, etc. The only two products that Microsoft makes that are worth paying for are Visio & Visual Studio.
2 more cents,
HDGary secures my bank
I want to publicly comment on the "spreading lies on this issue" that I'm being accused of by many of you in the /. community. I'll keep my reply simple:
/. tried a new and novel approach and actually read my post before commenting/forming their opinion. Two notable examples of this radical behavior include:
1) Microsoft called this move "open source" in all of there communications with me. In fact, the title of the mail in my inbox from Microsoft is: "Important: Microsoft & Open Source Announcement" . They also referred to it as "open source" in the voice mail they left me the night before.
2) I put "open source" in quotes to highlight the fact that this is NOT open source . That was the entire point of the blog for those of you who obviously didn't read it in it's entirety.
3) Many people on
"Will Hurley captures the move accurately" - Matt Asay, CNet
"William Hurley says Microsoft is going "open source," and those quote marks are his point." - Dana Blankenhorn, ZDNet So thanks to all of you who commented after actually reading the post. For the rest of you, I hope this helps to clear things up.
Jeez. You don't seem to get along with anybody. You are a tard.