Sigma Designs/XVid Update
Reagen Ward and many other people have written in with updates to the Sigma Designs/XVid situation, reported a few days ago. Sigma has replied in email and a press release that they intend to make the source code available, however, they seem to be paying lip service at best to the terms of the GNU Public License. Grant Gross from Newsforge has been pursuing the story and in a story yesterday and another today lays out the current situation.
The kernel drivers appear to be little more than marshelling/unmarshelling stubs to let the user space library communicate with the card. While register-level documentation is available, it isn't developer friendly, as there is no designers' guide that would help a non-hard-core video hardware embedded developer to write their own code: maybe it's just me, but I find the lack of context establishment in the register-only documentation limiting.
People have found Sigma's proprieteray user-space code somewhat buggy, and the present situation makes it difficult for the community to write its own. While I can sympathize with Sigma Designs' predicament following the apparent mistake of a rogue programmer, one way they can "make it up" to the community would be to go beyond the minimal legal GPL requirements and release more source and documentation for their other fine products.
You could've hired me.
I'm so tired of hearing the 'evil loner' excuse from companies. Make someone responsible. Fire their asses or have someone resign. Show the world this crap won't be tolerated. Instead what we get is this lame excuse that we're not to blame because of some rogue employee. When employees fail, it's management's responsibility.
Note that Sigma Designs runs an NNTP server discussion board for its users and developers at news.sigmadesigns.com. To see what they think, go over there and read the "realmagic" or "realmagic.questions" groups.
Editor Emeritus and Senior Writer, TeleRead.org
Yes, they have made the source code available. However, they nowhere state that it is a derivative work of XviD (although they state that it was 'inspired' by XviD) - they are claiming complete copyright over it.
Why should you care?
It's not a licencing issue - it's a copyright issue. If a have some GPL code, and I own the copyright, then I have the right to relicence the code any way I wish (including giving a company the right to use it in a closed source application - probably for a fee). If I have GPL code which I do *not* own the copyright for, then I have *no* rights to relicence.
This is a similar situation to that facing Mozilla a few months ago - they wanted to relicence the code, but couldn't unless they could contact *every single copyright owner* to get consent (and in Mozilla's case this meant every contributor of a significant patch).
Sigma Designs have taken someone elses code, and claimed copyright over it. This copyright claim (if it were correct) gives them the right to use the stolen code in closed source applications -- and it *is* being used in closed source and hardware applications.
So it doesn't matter that Sigma have opened the source to the stolen code. That's the smaller evil.
-- Help Digitise the Public Domain at DP.
Releasing the affected code under the GPL is lip service?
No, it's exactly what is supposed to happen.
They are probably referring to other things than the actual release. They don't give any credit to XVID. From the press release:
"We are pleased to provide the development community with an open source MPEG-4 CODEC, and anticipate that this will accelerate technical improvements and enhance the proliferation of MPEG-4 content," stated Ken Lowe, Sigma Designs' vice president of business development. (emphasis mine)
It makes you think they did all the work. The download page acknowledges that they "had utilized some routines posted by XVID as open source," but the tone is that they did all the hard work. Which isn't what I came to understand when reading the evindence.
Of course, now we have the source, it'll be interesting to make a more detailed study on how much code was copied.
I doubt, therefore I may be.
You might be wondering why I'm standing next to your car -- yeah, the one with the smashed window right here -- with a slim-jim in one hand and your stereo in the other. I swear it's not what it looks like.
Here's the deal -- I thought it was my car. I've got one just like this.
Okay, so maybe I knew it was your car, but I was... um... just borrowing it. I'm all done, see? Here, you can have it back now. No harm, no foul.
Tell you the truth, I wasn't even planning on keeping your crummy car. We were just gonna use it as the getaway vehicle in this bank job we're doing next week, see?
Wait, wait, ignore everything I just said. It was really some other guy that was trying to steal your car -- this shady looking punk in a leather jacket. You're lucky I got here when I did. I think he ran that way. If you hurry you can still catch him.
OW! OW! Stop kicking me! Alright, here's your damn stereo back! Jeez!
But if you don't mind me saying so, sir, you've got great taste in stereo equipment. I got a good luck at that puppy as I was prying her out of the dash and yours is a beaut!
So we're cool, right? No one needs to call the cops or anything. I'll just grab my stuff and -- look over there! The Pope!
*sound of running footsteps in the other direction*
Happier now. Note that they've changed their position on this at least 3 times. I'm glad that they've finally given credit to XviD. However, this doesn't change the problem.
They didn't ask the XviD authors for permission to offer the GPL-derived work under a non-GPL licence (of course, it could be that all uses are licenced under GPL now, which might be interesting - as it would mean they'd have to GPL all the software which is aggregated with it as well).
-- Help Digitise the Public Domain at DP.
Read the GPL, clause 4:
Therefore, even if Sigma has released the code, they are still violating the GPL, and have lost all rights under the license in the future. Sigma has to remove all the GPL code from their product!
"First an update on the XviD situation. The release of the Sigma source code does not mean it's all over, it's far from being over. The license agreement which you have to agree to before you can download, and install the codec is not compatible with the GPL. Furthermore, it can now clearly be seen (download the source code and have a look for yourself) that the Sigma codec is pretty much a copy of the XviD codec, but all the copyright notices of the original developers have been removed and replaced. This does not only violate the GPL but copyright laws - you can't just take a program, change a few lines and change the copyright statements, you only have copyright protection for the parts you wrote on your own. And related to this the Sigma codec also contains code taken from the OpenDivX project, the files were outfitted with 2 different copyright notices which is quite funny."
I hope that Sigma will respect GPL licences. I will for sure stop every purchase of Sigma stuff where I work.
Plus I had some self encoded TV episodes using DivX 5, and they had a VBR MP3 audio stream, the XCard plays the audio, and the video is completely out of sync (speeding up, slowing down - as though it is using the VBR timings)... and the player crashes after 5 mins.
: www.virtualdub.org/virtualdub_news_old.html+avery+ lee+nandub+hack&hl=en&ie=UTF-8
While all your other points on the card may or may not be valid (I'm not going to dispute them, in other words), I will take a moment to dispute this one. VBR MP3 audio streams in a DivX file is a complete and utter hack. Anyone who knows about the internals of AVI files will recognize this instantly. That it was made to work and play back correctly in Windows is actually due to a bug in the decoder itself, and should Microsoft ever fix this bug, all VBR MP3 audio interleaved in AVI files will suddenly either lose sync or perform exactly as the XCard.
References:
Can't find it on the new (redesigned) website, but here's the google cache.
http://216.239.53.100/search?q=cache:bqcAKNs_G2cC
as it would mean [that Sigma would] have to GPL all the software which is aggregated with it as well).
Wrong. The GNU General Public License "infects" only other code that runs in the same process space, not code that's merely aggregated onto a storage medium with GPL code or code that interacts with GPL code through message-based interprocess communication such as a pipe or socket using a well-defined interface. Read more in this section of the GPL FAQ.
Will I retire or break 10K?
I'm more inclined to think that they're doing this because of the huge backlash they got. This story got published all over the place, both before and after Slashdot. They knew they screwed up, and probably they knew that they were in legally questionable waters. In any case, they saw a bunch of people saying, "I'll stop buying from Sigma," and all this combined probably contributed to their current course of action.
Date: Fri, 23 Aug 2002 16:05:24 -0700
To: kal@sdesigns.com, stephanie.porter@edelman.com, RMP4@sdesigns.com, tech_support@sdesigns.com
Subject: MPEG-4 Video Codec Source Code
To whom it may concern:
Thank you for making the source code to the REALmagic MPEG-4 codec available. As you are now aware, this is a required term of the GNU General Public License (GPL). I have downloaded the source code release (RMP4V1_1.zip) from your website, and have concerns pertaining to the notices that appear at the top of the source files.
In the top of the source files, there is a vague assertion that they are related to the XVID MPEG-4 video codec with the following statement: "This code inspired by the XVID MPEG-4 VIDEO CODEC".
I have performed a side-by-side comparison between the above-mentioned REALmagic MPEG-4 codec and the XVID (xvid_snapshot_20020822.tar.gz) source code, and it is clear to me that the source files you published are not merely "inspired by" the XVID MPEG-4 codec, but are in fact derivative works.
If this is true, then your source distribution appears on its face to be in violation of the GPL. Section 2(a) states: "You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change." I could find no such notices of changes in the source files you released.
I request you remedy this problem by ammending the source code files in accordance with section 2(a), so that this apparent violation can be corrected. Doing so is a legal requirement of the license you accepted by creating a derivative work of the XVID MPEG-4 video codec. Failure to adhere to the terms of the GPL constitutes a copyright infringment by Sigma Designs.
You are clearly using and benefiting from the work of the authors of the XVID MPEG-4 video codec, yet you have hardly credited the development team for making this possible. I strongly urge you to consider to properly acknowledge the XVID development team. Please, give credit where credit is due.
-----
From: Tech Support
Subject:
Date: Fri, 23 Aug 2002 19:59:09 -0700
Interested Parties concerning Sigma's MPEG-4 CODEC
Thank you for contacting Sigma Designs and requesting information that relates to our MPEG-4 CODEC and the availability of its source code. We would like to take this opportunity to address the relevant issues that have been raised.
To begin with, Sigma developed an MPEG-4 CODEC to assist in the proliferation of MPEG-4 content and to ensure that users can create content libraries compatible with the ISO MPEG-4 video specifications and its implementation in silicon. Fulfilling this goal was carried out in two steps. The first was the introduction of an MPEG-4 CODEC, provided free of charge, so that worldwide users could begin encoding new content. The second was the release of source code, so that the development community could continue with technical improvements. Sigma never intended in making, nor realized, any profits from this code base.
Several weeks after the CODEC was first released, Sigma was contacted by the XVID development team regarding the use of certain portions of their code. Upon examination, it was determined that one of our programmers, unbeknownst to management and contrary to Sigma's policy, had utilized some routines posted by XVID as open source. During the past four weeks, Sigma had communicated with XVID to resolve the situation. As a result, Sigma has decided to make the current version of the MPEG-4 CODEC available under the GPL license.
Sigma is a supporter of the Linux operating system, appreciates the work being done by the open source community, and continues to issue certain other code under open source arrangements. Though we believe that we have reacted as expediently as possible, Sigma Designs sincerely apologizes to the open source community for this inadvertent use of GPL code and for the several weeks it took to resolve the situation.
Sincerely,
Ken Lowe
Vice President of Business Development
-----
Date: Fri, 23 Aug 2002 21:42:33 -0700
To: Tech Support
Subject: Re: (no subject)
Dear Mr. Lowe:
Thank you for your prompt response to my message regarding the Sigma Designs REALmagic MPEG-4 video codec. I URGE YOU TO READ THIS MESSAGE CAREFULLY.
In your response, you indicated that Sigma has decided to make the current version of the MPEG-4 video codec available under the GNU General Public License (GPL). This is indeed great news.
You also alluded to the fact that the situation is now resolved. UNFORTUNATELY, THIS IS NOT TRUE.
As I mentioned in my previous message, it appears that Sigma Designs is presently in violation of section 2(a) of the GPL. This section stipulates that any modifications to source code carry a prominant notice stating that you made changes and the date of the change. I can find no such notices in the REALmagic MPEG-4 codec source code.
If true, then SIGMA DESIGNS IS STILL VIOLATING THE COPYRIGHT OF THE AUTHORS OF XVID. I strongly urge you to take action, by either ammending the REALmagic MPEG-4 video codec source code to adhere to section 2(a) of the GPL, or else stop distributing the REALmagic codec altogher. Either action will remedy your current violation of the GPL.
Also, I urge you to give proper credit to the XVID development team in your source code. My comparison of REALmagic and XVID reveals that the Sigma source code is much more than "inspired by the XVID MPEG-4 VIDEO CODEC"; it is clearly derivative of XVID and as such deserves proper acknowledgement to the original authors.
Please, give credit where credit is due.
My car gets 40 rods to the hogshead, and that's the way I likes it!
OK. Let's consider a counter-argument to this.
Companies using GPL code only benefits everyone IF the company adheres to the GPL. If a company simply takes code and uses it as a platform to jumpstart their development, they are the only ones that bennefit. And more importantly, the community that collaberated to bring value to the code in question looses.
And there is definately value to be found in a lot of these GPL projects. GPL code is being used more and more often by business not only to support their infrastructure, but to provide a boost to their development. Unfortanely there also seems to be an increase in businesses that attempt to simply take code in violation of its license.
In most cases we've been reading about, when a GPL violation is discovered, it usually ends up with a sheepish excuse and promise to release code in accordance with the GPL license. The problem is this is beginning to look like a standard tactic. Steal code, hope nobody figures it out... and if you do get caught, then cough up some code. In the end, you still have access to the code you needed to boost your project at the "expense" of having to give up modifications you had hoped to keep to yourself.
It seems to be strategy with little overall risk. And if so, it suggests the community is setting itself up to be constantly ripped off.
A punitive strategy for the community... and one that the origional poster suggests exists within the workings of the GPL license... is to make the entire code base a part of the risk. If you attempt to steal GPL code and are caught, you forfeit access to that code. This would increase the risk from not only releaseing code you would prefer to keep secret (but would have to anyway if you complied with the GPL), but also puts the entire code base you wish to use at risk. Being caught would mean returning to square one - a major hit to any development project or product. And it may be a risk that fewer will be willing to accept. Hopefully it will keep honest people honest.
Could the community benefit from more companies using its code? Sure. But those companies must understand the requirements of using that code and, ultimately, being a part of the community.
One final note. The GPL may seem strange to the hardcore competative business developer. But one familiar aspect of the GPL is that it is a license. I find it hard to believe anybody working within the IT industry is not familiar with having to deal with licenses. When you use applications and code that include a license, it should be second nature to review that license and decide if one wishes to comply with it - as strange as those requirements might be.
Oh please. This is trivial already. Just signup for a hotmail / yahoo account. Email FSF. End of story.
As for theft of GPLed code, the GPL includes conditions already to handle that. The theif loses the right to use that code ever again. The author can ALWAYS take the infringer to court. Most likely, the FSF will help.
So if you have seen GPL infringment in action, why didn't YOU report it? Go get yourself a yahoo mail account and do so today. You can also go through an anonymous remailer (search google for one.)