Peter said:
So, where in the license then does it say "if you have used the .NET
source code in any way, you may not work on Mono"?
It's not in MS' license, it's in Mono's policy for submitters of
patches and code.
Why? What in the license says that you're "doomed"?
you can't reasonably work on these projects because you personally
embed the risk of getting other peoples code in the main trunk.
Why? What was in the Rotor code's license under which you viewed the
code that specifically precludes you from working on Mono?
Peter, please... it's not in rotor's license, it's in the policy for
mono (and other high profile open source projects). It's simple math,
really.
I understand the precaution. But that's VERY different from saying
you are prohibited from performing the work otherwise.
Erm... I assume you're doing software development, ok? So you
understand logic.
If codebase A is open for you to look at, but A is also commercial, so
you can only look, and you want to work on codebase B, where B is doing
something similar to (parts of) A, and B is open source, isn't it so
that by accepting the license for A, you automatically can be ASSUMED
your work on B is copied from A?
Yes, we are all nice guys/gals who don't do anything bad ever,
...
till reality kicks in.
Sure, it is about "MS is evil". It's only because of this fear of
Microsoft that the Mono project is taking such a defensive stance.
If they made the assumption that Microsoft is benevolent and would
only take legal where there's a valid legal case, then they would
have no problem with Mono developers using the .NET source code in
situations unrelated to Mono.
And I think that fear is justified. Not because they think MS is evil.
Only stupids think in that kind of terms. MS is a big company, and
every big company has only one thing on their mind: money. So they do
things for getting that money, to keep the company going. I.o.w.:
simply business.
If mono opens the door to do .NET development and deployment on Linux
on a big scale, MS will kill it. It's not strange, it's logical from
MS' pov, simply because it would otherwise hurt their business.
From Mono's Pov, it's then logical to take precautions.
Mono is just an example though. Every framework developer out there
has to be very cautious. Not only with MS' code but with all code you
read on the net: even if it's just a tiny class, if the license of that
piece of code isn't clear, don't use it and don't look at the code.
Simple.
If you think that's retarted, fine. If a company C sues my company
because I made a mistake and copied C's code into our codebase, I'm
responsible and you won't care nor get hurt by it. Also, if you don't
care about the concerns I and others put forward, more power to you and
go ahead with what you wanted to do. But don't come here and whine
about what the consequenses did to you IF the future becomes less
bright than you might have anticipated.
[...]
because you've access to code which you could copy/paste or learn
how it works inside and reproduce it for mono, which would make
Mono look like it has copy/pasted MS code and thus that it's open
for a lawsuit.
But that concern only applies to someone who is specifically using
the .NET source code as a reference for Mono (whether copying
directly or using it as a guide). That in no way eliminates the
possibility to use the .NET source code in other contexts.
mono is an example. Any o/r mapper and control vendor out there has to
be very careful (and there are other frameworks which replace parts of
the .net code base). You still don't see what the consequences can be
if an o/r mapper vendor makes SqlServer irrelevant w.r.t Linq ? If the
o/r mapper vendor included parts of the sourcecode, or wrote code very
very similar to it and has accepted that license, wouldn't it be easy
for MS to simply make a few calls to kill off that threat?
What I don't get is that according to some people looking at other
peoples sourcecode is a 'right' and has no consequences. It HAS
consequences.
[...]
Working on Mono, you are intentionally trying to reproduce the
behavior of the .NET Framework, and even without inspecting the
compiled .NET Framework code it would not be surprising if you
should happen to on occasion implement things in the same way
they are implemented in .NET. But how are you to prove to
Microsoft in those cases that you didn't actually use their
compiled code as a reference?
it's THEIR job to proof you DID copy it.
True. But the question of whether a license was accepted has nothing
to do with that.
of course it has. If you have accepted the license, they have an easy
job to proof you had every oppertunity to copy. If you DIDN'T accept
the license, you didn't have the oppertunity and they have a harder job
proving you copied code.
That's a false conclusion. Accepting the license has nothing to do
with whether a person has seen the .NET source code. I can accept
the license and never look at the source code, and I can look at the
source code without ever accepting the license. The two are
completely unrelated.
How can you look at the sourcecode without accepting the license? No,
reflector doesn't count, that's not the sourcecode.
[...]
They don't have to show you their source code for them to file
legal action on the basis of a copyright violation.
the sco case proofs that they have to. It would also be silly to
claim copyright infrigment without proof that someone indeed copied
your work, aint it?
No, it wouldn't be silly at all. It's easy enough to duplicate the
code from a compiled implementation. You don't need the source code
to violate the copyright rules.
How can I copy SOURCE without access to the source? If I have only a
compiled form, I can reverse engineer it, and re-use that, which is
allowed in most countries, IF you don't have access to the code and IF
you need that code to do your own work (e.g. an internal class is
needed for making your code work with the framework. There are examples
of that, for example design time databinding in ASP.NET with datasource
controls.).
[...]
Anyone may sue you one day, it depends if they have a case or not.
What you and I can do is protect ourselves from losing these
lawsuits. There's no protection possible against a lawsuit being
filed against you, though you can protect yourself (at least try)
against losing these because the other has a strong case against
you.
No doubt. I have said as much. But that's not the issue here. The
question is whether the Mono group has a legal requirement to protect
themselves in this way, and my assertion is that they do not.
So they, and other open source projects who have the same rules, have
a skewed vision on reality? Does 'SCO' ring a bell to you?
They may feel it makes sense to play it safe in this way, but that's
not the same as Microsoft imposing this requirement on them.
See above.
Again, the license is irrelevant to the copyright issues, and calling
the license "evil" is just the usual Microsoft demonizing that takes
place in the open-source community.
I can call it whatever I want to call it. I find this license evil, as
it has sideeffects which aren't visible at first. You for example don't
understand the side effects
. I've explained them again above.
[...]
Also, if MS does something bad to YOU, you can't win a lawsuit
against them if they have a strong case against you in another area.
That's an absurd statement. The courts do not decide separate issues
together. If you have a case against Microsoft with respect to one
thing, it doesn't matter what other case they may have against you in
some unrelated area.
I wasn't talking about courts, I was talking about threats. Has it
ever occured to you WHY companies file so many patent requests? That's
right, to protect THEMSELVES against companies who threat them with a
lawsuit: if that happens they can threat them back with "if you sue,
we'll sue you over this other thing".
It's simply business. A hobby programmer: shouldn't have any worries.
A professional framework developer: watch out.
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#)
------------------------------------------------------------------------