Now Microsoft wants you to debug .Net....

J

jim

Microsoft announced that it will be releasing its source code for the .Net
libraries. But, don't get too excited at Microsoft's new SHARED source
initiative.

According to CNET (at http://www.news.com/8301-10784_3-9790863-7.html), "The
source code will be released under Microsoft's Reference License. This means
that you can only use the source as a reference for debugging, maintaining
or enhancing your applications. You cannot modify or distribute the code for
any purpose. This happens to be the most restricted shared-source license
that Microsoft has. This announcement confirms that .Net is going to be
shared source, not to be confused with open source."

So, it seems that Microsoft is trying to *look* like an open company while
keeping the shackles firmly around the ankles of its users.

It's quite ingenious actually. There have been a large number of issues
with .Net (www.kbalertz.com is a good place to start your search if you want
to see just how many Microsoft has reported). And, what better way to fix
those than to basically recruit everyone else to debug your framework.

It's like open source....only without the open part. Microsoft calles it
"shared source". Which I think is deceptive. If I told you that I was
going to "share" my ice cream with you, would you think that I was going to
give some of my ice cream for you to eat (or do with as you please) or would
you think that I was merely going to allow you to look at my ice cream while
I ate my fill?

"Shared source" indeed.

jim
 
M

Michael A. Covington

I don't see anything objectionable about this. It is laudable that a
commercial software vendor is willing to release source code. They are
under no obligation to give up their rights to it!
 
J

Jon Skeet [C# MVP]

jim said:
Microsoft announced that it will be releasing its source code for the .Net
libraries. But, don't get too excited at Microsoft's new SHARED source
initiative.

<snip>

Way to look at the negatives. Interesting how you completely ignored
the positive sides of being able to debug into the framework code, see
how it works, and potentially spot bugs to report and work around.
And, what better way to fix those than to basically recruit everyone
else to debug your framework.

Interesting how open source advocates will use "you can fix the bugs"
as a plus point, but as soon as Microsoft lets you spot the bugs, it's
getting everyone else to debug your framework.

Do I get the feeling Microsoft can't win here?

I'm sure that most of the time that I debug through the framework code
I *won't* be finding bugs in the framework - I'll be understanding what
the framework's doing with *my* code, which is rather more likely to
contain bugs.


Don't get me wrong, I'd love the framework source to be even more open
- but I'm quite astounded at how miserly some folks can be when it
comes to this action of Microsoft. Anyone would think they were
*forcing* people to read the code. If you feel it makes your life
worse, don't do it. The rest of us will accept the restrictions, and
get on with being more productive.
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

jim said:
Microsoft announced that it will be releasing its source code for the .Net
libraries. But, don't get too excited at Microsoft's new SHARED source
initiative.

According to CNET (at http://www.news.com/8301-10784_3-9790863-7.html), "The
source code will be released under Microsoft's Reference License. This means
that you can only use the source as a reference for debugging, maintaining
or enhancing your applications. You cannot modify or distribute the code for
any purpose. This happens to be the most restricted shared-source license
that Microsoft has. This announcement confirms that .Net is going to be
shared source, not to be confused with open source."

Why not read the group before posting. This was posted yesterday.
So, it seems that Microsoft is trying to *look* like an open company while
keeping the shackles firmly around the ankles of its users.

It's quite ingenious actually. There have been a large number of issues
with .Net (www.kbalertz.com is a good place to start your search if you want
to see just how many Microsoft has reported). And, what better way to fix
those than to basically recruit everyone else to debug your framework.

It's like open source....only without the open part. Microsoft calles it
"shared source". Which I think is deceptive. If I told you that I was
going to "share" my ice cream with you, would you think that I was going to
give some of my ice cream for you to eat (or do with as you please) or would
you think that I was merely going to allow you to look at my ice cream while
I ate my fill?

I think you are being rather negative.

You are basically saying "what MS is doing is not as good as
what I think they should be doing".

You could just as well be saying "what MS is doing now is better
than what they used to do".

Oh - and you completely misunderstood the debugging part. MS are
trying to help you debug your apps - they are not asking you to debug
the .NET code.

Arne

PS: BTW, I am not so happy about the license either due to the
"residual" intellectual property aspect, but that is another story.
 
S

sloan

Dang dude.

I'm excited about being able to just see the code. Learn from it.

I don't have any issue with them keeping control of the code. They spent
the $$$ to make it, they can keep it.
I still think its the best thing going. (<< My opinion, I'm sure you have
one as well)

There are several different licensing models.
CSLA has one that might be criticized as well. If you look at the glass as
half empty.

I'm taking the half full approach to this annoucement.

Thank you MS for doing this.
 
G

Guest

I'm quite new to .Net but I have to agree with Jon that shared source will be
valuable when own workaround is needed urgently. However, I think MS should
create some incentives for people to find/report bugs.
 
A

Andrew P.

Having access to the source code is of tremendous help to us, .NET
developers. I don't think you understand the reason why they're sharing the
code. I haven't encountered any bugs in the .NET Framework and I've been
using it since .NET 1.0.
 
J

Jordan S.

What's the deal with you open source advocates? I just implemented #ziplib
(an open source file compression utility -
http://www.icsharpcode.net/OpenSource/SharpZipLib/) in a .NET application.
And yes - I got it to work, but it was a painful endeavor.

While #ZipLib is one of those open source deals that the open source crowd
glorifies. My experience, in sum, is this:
1 - coding standards are not followed in their source code. I'm not saying
that my favorite standards aren't followed - I'm saying that there is not
one coherent standard followed within their source code. And you can see for
yourself - it's open source!

2 - Their documentation is abysmal - where present.

3 - Their code is not complete. The documentation referes to a method of a
class. That method does not exist in the class.

4. On their support Web site there is ONE GUY who is basically answering
questions... he even apologizes that he periodically can't respond in a
reasonable amount of time.... but points to the HOPE that some generous
other developers will jump onto his open source bandwagon and get up to
speed enough on the product to provide additional support assistance on
their message board.

Yes - that''s just one open source project, but it appears to be a microcosm
of the issues with open source in general.

Beyond those I experienced with that particular product, I have asked a
number of open source advocates over the years what the big benefit is - of
open source. They all pretty much point to the fact that if they don't like
the way some feature is implemented, or if it is broken, that they can fix
it. Notice "CAN fix it." When I ask them how many times in their entire
lives that they *have actually* modified the source code, they all say ZERO
times! The reason? Version control - plain and simple. They don't want to
have to maintain their own branch as the open source community races ahead
with the mainstream offering. I have separately asked dev group managers who
loudly bang the open source drum. None of the managers I have talked with
would permit any of their developers to modify open source code - or put it
into production - again because they don't want to create a whole new body
of code they must now maintain.

So I'm still left wondering what the big draw of open source is - given that
it's advocates #1 claimed reason to use open source is an advantage they
also state they would NEVER take advantage of. Bizarre.
 
C

Cor Ligthert[MVP]

Jim,

I think they mean Static source, however use the VB.Net term for that.

:)

Cor
 
B

Ben Voigt [C++ MVP]

Jon Skeet said:
<snip>

Way to look at the negatives. Interesting how you completely ignored
the positive sides of being able to debug into the framework code, see
how it works, and potentially spot bugs to report and work around.


Interesting how open source advocates will use "you can fix the bugs"
as a plus point, but as soon as Microsoft lets you spot the bugs, it's
getting everyone else to debug your framework.

Do I get the feeling Microsoft can't win here?

I'm sure that most of the time that I debug through the framework code
I *won't* be finding bugs in the framework - I'll be understanding what
the framework's doing with *my* code, which is rather more likely to
contain bugs.


Don't get me wrong, I'd love the framework source to be even more open
- but I'm quite astounded at how miserly some folks can be when it
comes to this action of Microsoft. Anyone would think they were
*forcing* people to read the code. If you feel it makes your life
worse, don't do it. The rest of us will accept the restrictions, and
get on with being more productive.

The only thing is -- with .NET Reflector, the framework source code was
already very open. You could use it in any way allowed by the .NET runtime
license or the Visual Studio license.

With shared source, they're trying to get you to agree to an extra license
which will only restrict your rights further. I haven't read the license,
but I suspect that it's worded to apply to any use of .NET regardless of
whether the information was gathered through the shared source initiative or
not -- if you accept the license that is.

 
J

Jon Skeet [C# MVP]

Ben Voigt said:
The only thing is -- with .NET Reflector, the framework source code was
already very open. You could use it in any way allowed by the .NET runtime
license or the Visual Studio license.

So you believe that using Reflector was entirely legal and above board?
I disagree - I think MS has been turning a blind eye to something they
could easily have made a fuss about.
With shared source, they're trying to get you to agree to an extra license
which will only restrict your rights further. I haven't read the license,
but I suspect that it's worded to apply to any use of .NET regardless of
whether the information was gathered through the shared source initiative or
not -- if you accept the license that is.

Yes, it will affect you if you want to contribute to Mono or something
similar - but I suspect that would already have been the case if you
later admitted to having used Reflector. You'd at least have been in a
legal grey area.

By looking at the *real* source code instead of the decompilation from
Reflector, there are many benefits:

1) Reflector doesn't handle iterator blocks well. Looking through the
decompiled state machine is nasty.
2) Being able to debug into the code is incredibly handy (having had
that ability with Java, and having missed it greatly with .NET)
3) Real source code has comments and meaningful local variables, and
is thus much easier to read.

I'm very happy to accept the restrictions of the licence in order to
gain those benefits - and anyone who isn't can just not accept the
licence.
 
J

Jon Skeet [C# MVP]

Beyond those I experienced with that particular product, I have asked a
number of open source advocates over the years what the big benefit is - of
open source. They all pretty much point to the fact that if they don't like
the way some feature is implemented, or if it is broken, that they can fix
it. Notice "CAN fix it." When I ask them how many times in their entire
lives that they *have actually* modified the source code, they all say ZERO
times! The reason? Version control - plain and simple. They don't want to
have to maintain their own branch as the open source community races ahead
with the mainstream offering. I have separately asked dev group managers who
loudly bang the open source drum. None of the managers I have talked with
would permit any of their developers to modify open source code - or put it
into production - again because they don't want to create a whole new body
of code they must now maintain.

So I'm still left wondering what the big draw of open source is - given that
it's advocates #1 claimed reason to use open source is an advantage they
also state they would NEVER take advantage of. Bizarre.

Well, personally I've either found and fixed bugs, or contributed extra
features to various open source projects, most notably Ant and Log4j.
The version control is only an issue if you don't give your source back
(or if it's not accepted for some reason).
 
F

Frans Bouma [C# MVP]

Jon said:
<snip>

Way to look at the negatives. Interesting how you completely ignored
the positive sides of being able to debug into the framework code,
see how it works, and potentially spot bugs to report and work around.

sure, but the price is currently too high.

Why would MS block their own developers from looking at GPL-ed code?
Isn't that the same concern?

I also don't see why it would be good to fix bugs: you can't recompile
the code! so you can't fix it, as you can't test your fix.

FB


--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
J

Jon Skeet [C# MVP]

sure, but the price is currently too high.

For you, possibly - it's certainly not too high for me.
Why would MS block their own developers from looking at GPL-ed code?
Isn't that the same concern?

They may well block their own devs from looking at GPL code, for
exactly the same reason.
I also don't see why it would be good to fix bugs: you can't recompile
the code! so you can't fix it, as you can't test your fix.

If I see a bug and report it, it may be fixed in a service pack or the
next release.
If I don't see the bug and don't report it, it may not get fixed as
early.

Likewise, if I can see exactly what the bug is, I may well be able to
work round it in a much better fashion than if I'm guessing at what's
going on.

Jon
 
L

Larry Smith

Most programmers could care less about open source. And since most of those
who do whine about such a frivolous matter would be ashamed to reveal their
own code (or should be), they would do their employers and their customers a
huge favour by improving their own programming skills instead of complaining
about MSFT.
 
K

Kevin Spencer

You're overlooking something here, jim. Microsoft is not charging any money
to do this, although it will cost them money to do it. In other words, it's
a freebie, a gift. I think I hear you complaining that the gift is not what
you want it to be, which is a pretty crappy way to receive a gift.

The idea that Microsoft "owes" anybody anything (beyond what people pay for)
is ridiculous. They are a business, and are in business to make money. They
are not a charity, and are under no moral obligation to give anything away
for free. When you purchase software from the company, they enter into a
contract (as specified in the license) which stipulates what you may expect
from them in return for your money. Beyond what you pay for, anything else
is a free gift.

When I read stuff like this, I can't help but wonder if the author has a
job, how much they freely give to their employers in addition to what they
are expected to do for the salary that they are paid, and how much they
would do for their employers if they were not paid anything at all.

--
HTH,

Kevin Spencer
Microsoft MVP

DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
 
P

Peter Duniho

Kevin said:
You're overlooking something here, jim. Microsoft is not charging any money
to do this, although it will cost them money to do it. In other words, it's
a freebie, a gift. I think I hear you complaining that the gift is not what
you want it to be, which is a pretty crappy way to receive a gift.

No kidding.

Jon already said it: it's unlikely that anything Microsoft does,
including things like releasing their own source code voluntarily, will
ever be met with anything but derision and criticism from people like
the fanatical open source community. (And note: not all of the open
source community is fanatical...but I'm talking about that very vocal
subset that is, who treat open source practically like a religion).

It didn't take even a day for some of those fanatics to decide that
Microsoft isn't actually trying to be helpful, but rather is simply
putting out bait to snare unsuspecting developers:

http://www.eweek.com/article2/0,1759,2191754,00.asp

These people are never going to be satisfied. They will always find a
way to turn something positive into something negative. And there's no
point in discussing it with them, because they _start_ with the
conclusion that Microsoft is evil, and then proceed from there. Any
information that might contradict their world view is summarily ignored,
and so it is useless to try to provide that information.

I think the uproar over this particular issue is even more amusing,
given how much Microsoft stands to _gain_ if Mono takes hold. Mono
isn't a threat to Microsoft at all...if it can succeed, it would simply
entrench Microsoft's hold on the platform market even further. Novell
et al can no more wrest Microsoft's control of the .NET away from them
than Microsoft was able to do the same for Sun's Java (and they
certainly did try). So all they can hope to accomplish is to make .NET
an even more attractive development platform than it already is.

Microsoft may have the legal stance that no one, including Mono, may use
the .NET source code to reimplement .NET on other platforms. However,
it seems to me that it's unlikely they would invest a lot of effort in
preventing that, since the outcome for something like that would be
positive for them.

Pete
 
C

Cor Ligthert[MVP]

Jon,

Likewise, if I can see exactly what the bug is, I may well be able to
work round it in a much better fashion than if I'm guessing at what's
going on.
I don't like customers who do that, it opens only discussions while mostly I
can solve it much easier without that customer who tells how I have to solve
it.

:)

Cor
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Peter said:
Jon already said it: it's unlikely that anything Microsoft does,
including things like releasing their own source code voluntarily, will
ever be met with anything but derision and criticism from people like
the fanatical open source community. (And note: not all of the open
source community is fanatical...but I'm talking about that very vocal
subset that is, who treat open source practically like a religion).

It didn't take even a day for some of those fanatics to decide that
Microsoft isn't actually trying to be helpful, but rather is simply
putting out bait to snare unsuspecting developers:

http://www.eweek.com/article2/0,1759,2191754,00.asp

These people are never going to be satisfied. They will always find a
way to turn something positive into something negative. And there's no
point in discussing it with them, because they _start_ with the
conclusion that Microsoft is evil, and then proceed from there. Any
information that might contradict their world view is summarily ignored,
and so it is useless to try to provide that information.

There are certainly a lot of open source fanatics that live by the
mantra "MS is bad => whatever MS does is bad".

(as a side note: am I the only one who has noted that the one which
involvement with open source is the ability to install Ubuntu on a PC
in general seems to be more aggressive than those actually contributing
to open source probjects ??)

But I would not put Novell and Mono in that category.

Arne
 
B

Ben Voigt [C++ MVP]

Kevin Spencer said:
You're overlooking something here, jim. Microsoft is not charging any
money to do this, although it will cost them money to do it. In other
words, it's a freebie, a gift. I think I hear you complaining that the
gift is not what you want it to be, which is a pretty crappy way to
receive a gift.

The idea that Microsoft "owes" anybody anything (beyond what people pay
for) is ridiculous. They are a business, and are in business to make
money. They are not a charity, and are under no moral obligation to give
anything away for free. When you purchase software from the company, they
enter into a contract (as specified in the license) which stipulates what
you may expect from them in return for your money. Beyond what you pay
for, anything else is a free gift.

Ah, but they do owe every Visual Studio licensee comprehensive
documentation. Which, sad to say, MSDN isn't. So they've released some
source code with essentially the right to use it as the documentation that
should have been released with the product.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top