Welcome to Manicprogrammer Sign in | Join | Help

Agree or Disagree with a Software License You Must Abide By It

Yes. This is the follow up to a post yesterday about the TestDriven.NET spat with Microsoft. I have thought a lot about this and it wasn't difficult for me to digest. Though I am sympathetic to a TestDriven.NET for Visual Studio Express after reading the letters from the attorneys outlining the claimed breach I can't help but agree that TestDriven.NET in its current incarnation for Visual Studio Express would likely be a violation of the license agreement.

Whether or not I agree with the rational that it is in the best interest of Microsoft to create such terms in it licensing agreement for express those are the terms they set forth. For the record, I do think it probably is in their best interest and our as well and that's all I'll say about that. There are a lot of open source or closed source free or inexpensive IDE's and those are viable targets for implementation as are the for-pay versions of Visual Studio.

Obviously Jamie doesn't believe he has violated the licensing terms and that is his right to assert as well.  He could be right. That's what attorneys and courts and IP law are all about. I wish Microsoft could just turn a blind eye but we all know they can't. That's how IP works- if you don't enforce your intellectual property rights you lose them. You aren't officially allowed to let them sit around or enforce selectively or at some later time. If you don't attempt to enforce as you become aware of violations you effectively give up the right. Once you give up the right it's gone for good. It's a dangerous slope. Jamie has been caught on the slippery side of that slope in this one instance.

Regardless of how much we may like or dislike the terms we as consumers have the ultimate choice. Ask the open source community. You can select not accept the license agreement and not use the tool. Do I think there are abuses of power related to fair use in too many licensing agreements from too many companies- yes; but no one makes me accept them. I personally find most open source licenses to be incredibly draconian as well. They apply the same rules but with a different scheme. Your disincentive to use the code is that you agree to effectively abandon your own IP rights in its use. I am a strong believer that if you wish to place something in the effective public domain then it's fair game for anyone to use in anyway they wish. If they can take that open source code and charge someone for the exact same things that that you are giving away free then good on them. I am in the minority for that opinion. And yes I know that open source is 'not in the public domain' but that's my point. They have their own very restrictive use terms. They just let you see what you can't use except within those terms.

One of the areas that is a bit disconcerting to me in this is the potential flexing of muscles related to reverse engineering and decompiling. A free version of Visual Studio or a for-pay version I would expect to both contain the clauses related to decompiling and reverse engineering. Have I violated those terms in creating tools to add in to Visual Studio by taking the SDK and using reflector on it to see how something works and then using reflection to get to some part of the code that may not have been easy to get to via the public classes? Yes that is indeed a hack and very likely to break next release- and no this is not a public or commercial piece of software. I didn't add functionality that was disabled. The functionality is enabled and available to the user via some current mechanisms- I just I needed to get to a specific winform so that the look and feel is consistent for the user but via a different mechanism.  Did I violate the license terms by using reflector on the SDK to do this? What about if I just studied how the classes were structured to figure out where to go to get to some functionality that didn't require reflection? I still decompiled the code to better understand the SDK. Though the latter no one would ever know the former would be very clear in the code.

All in all, as I said yesterday, I think it's unfortunate for everyone but these are the rules and we agree to them when we use the software.

*As an update: I like Phil's post.

Published Saturday, June 02, 2007 8:16 AM by michaelruminer
Filed under

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Saturday, June 02, 2007 1:11 PM by Chris Schultz

# Agreed

Using reflector to look at view someone elses assembly is indeed hacking and IP infringement. I obfuscate all of my code but that's like putting a baricade in front of the bank. Given enough time and a big enough truck you'll move the baricade and get the goods.

You bring up a missing point that I haven't seen yet. Jamie must have used reflector to know that the code was present in the C# Express for things like unit testing. How could he possibly find those holes otherwise? Microsoft didn't publish the docs and Jamie wouldn't know how to make this work unless he sat their playing around with Express until he found the holes. Microsoft could probably go after him for that as well. It might be an easier argument - thou shall not dissasemble someone elses code.

You're right that Jamie is wrong and he needs to accept the license terms nomatter how he feels about FOSS.

Saturday, June 02, 2007 8:25 PM by Richard Berg

# re: Agree or Disagree with a Software License You Must Abide By It

>> That's how IP works- if you don't enforce your intellectual property rights you lose them. You aren't officially allowed to let them sit around or enforce selectively or at some later time. If you don't attempt to enforce as you become aware of violations you effectively give up the right. Once you give up the right it's gone for good.

This is not true at all.  You're confusing software EULAs with trademark law.  Very different beasts.

I agree with you that Jamie is probably in violation of the contract.  I haven't fully digested his side of the argument yet, though, and of course IANAL.

Sunday, June 03, 2007 4:12 PM by Thomas Eyde

# re: Agree or Disagree with a Software License You Must Abide By It

When did Reflector enter the arena? Jamie did write very clearly that he use a public, documented api.

Monday, June 04, 2007 8:00 AM by michaelruminer

# re: Agree or Disagree with a Software License You Must Abide By It

Richard and other.

Thanks for the comment. As we sometimes do (disagree) we'll have to agree to disagree or jusy plain disagree. ;-) Like yourself, IANAL, I don't even play one on TV. First off, _I think_ this instance we are seeing is rightfully all about the contract (license agreement) and nothing more. Under the terms you can't provide additional functionality for the tool. Pretty clear cut. It really isn't about IP; though this was alluded to in the emails- that's a secondary thing- the contract is governing. I think I introduced the confusion to Richard and probably others in what where I was trying to go in even talking about IP. But that's the beauty of blogs- no editors. :-)

Now back to the point of contention between Richard and I on my statement about IP enforcement not being an elective sort of thing. It's an obligatory sort of thing.

We both agree that in the trademark areana there is an explicit loss of claim to a TM if not enforced. No need for a lawyer to understand that. Where we diverge in some senses is in my intention of statement though we agree obviously on the clarity of the statement.

Thus let me clarify. I'm definately not confusing EULA's and IP and especially not EULAs and TMs. Let's just say copyright, trademark, and patent as IP for now. At least I'm not confusing in my brain though it obviously not clear in my text for at least some readers. The EULA is classicaly a contract for the use of material.

But I stand by my claim for all IP, which has nothing to do with the contract (EULA), if you don't defend and enforce your IP you lose it. For Trademarks it's an explicit and clear complete loss of the protection across the board. For copyright and patent, unlike the TM, you continue to hold for its term. I think that is where I should have been more clear- my apologies. It's a loss to at least the entity to which you chose not to enforce (enforcement could be granting a specific license) and will have effects implicitly downstream on your ability to later enforce on that known violation. It's easily viewed as an implied license for it's use. Of course, there are those  words 'implicit' and 'implied' which keeps many a lawyer and judge in lots of work.

Oh- and for any lack of clarity (or just plain incorrectness) in this response comment--- please excuse.


Enter the text you see in the image:

Leave a Comment

(required) 
required 
(required)