By now we've all heard of the copyright infringement and code theft claims involving the Mambo content management system and businessman Brian Connolly. Legal questions have been raised, guesses have been made, commentary has flowed forth, and everyone involved in the dispute has had their fifteen minutes to relay their sad tale of injustice. Now it is time for the facts, and NewsForge can definitively say that Connolly's legal claims against the Mambo community are baseless. Read on to get the full details.
To sum up: Brian Connolly, co-founder of the Literati Group, had paid Mambo developer Emir Sakic to customize Mambo OS (in this instance, OS stands for Open Source, as there is a closed-source version of Mambo called Mambo CMS) to look like a newspaper. Part of this customization involved Sakic coding a text block for the front page that would span the usual two-column news listing. This lead story block involved little more than a colspan
HTML element inside of an otherwise standard table data tag and a few lines of associated code to make it look somewhat different.
Connolly felt that this customization was a proprietary; since his contract with Sakic stipulated that all copyrights would be assigned to Furthermore, Inc., he figured that he would be able to further protect what he refers to as his "invention."
Unfortunately this invention is neither unique nor new. Many other content management systems have this functionality and have been using it for some time -- some are proprietary, such as the BBC News Web site, and some are free software, such as Slash, which has an extensibility that allows a "lead story block" function.
The red herrings
When Connolly first put up his Furthermore demo site, he noticed that his server logs showed that a perceived competitior had downloaded about 20MB worth of data from his site. Connolly immediately interpreted this as wholesale code theft when in fact he had no reason to believe that any theft had taken place. The competitor was in the process of designing a site around Mambo OS and, like Furthermore, also employed the lead story block. NewsForge contacted this competitor and found them to be extremely upset over Connolly's threats; they insisted that we not use their name or any details about their company.
Mambo uses the PHP extension for the files that contain code, and that code is never published to a Web page; instead it is rendered by the server and turned into HTML, which in turn is rendered by the browser to show you a Web site. If you want to view the HTML code, you can easily do so by selecting the View Source option. Since the viewer never sees what's in the PHP files and cannot access them directly without special access to the Web site, it would be impossible for anyone to download Connolly's code without root or direct FTP access to the site. Someone could, however, legally save the HTML to their hard drive and attempt to reverse-engineer the code back to usable PHP. This is a lot like trying to design the machines that manufacture automobile parts by examining a finished car.
Copyright infringement or code theft?
Dan Ravicher of Open Source Risk Management told us in an interview recently that there is a distinct difference between copyright infringement and code theft. Connolly claims that this situation involves both.
It would seem to be a fairly clear-cut case if you only get Connolly's side of the story. But the code committed to the Mambo OS project was not the same code that Sakic wrote for Furthermore. The Furthermore code was nine lines of hardcoded HTML; it did not have to be dynamically generated because Furthermore is not designed to be theme-able. Mambo, on the other hand, is designed to be fully customizable. So a month later in October 2003, Emir Sakic developed a way to do the same thing dynamically and committed it to the Mambo core.
Sakic's mistake was not in developing and distributing a derivative work of the code he wrote for Connolly, but in emailing Connolly to tell him what he'd done, with the facetious comment, "hope you don't mind" tacked on to the end. This is where the trouble started, yet no illegal act had been committed.
Code was not stolen verbatim, and it clearly was not an act of malice on anyone's part. Therefore, according to Dan Ravicher's definition, this contribution was not code theft.
Copyright infringement is a bit more broad of a term and would seem to be a better fit for this situation -- after all, the contract called for all copyrights to be assigned to Furthermore, Inc. But the code was a derivative of GPL-licensed code, thereby making it a derivative work of the parent code and automatically licensing it under the GNU General Public License.
Connolly claims that since he is the copyright holder of the original code that he can prohibit redistribution of a derivative work of that code even though it's all licensed under the GPL. Eben Moglen, counsel for the Free Software Foundation and Columbia University law professor, wrote an article called Enforcing the GPL, Part I in August of 2001 in which he wrote:
Copyright grants publishers power to forbid users to exercise rights to copy, modify, and distribute that we believe all users should have; the GPL thus relaxes almost all the restrictions of the copyright system. The only thing we absolutely require is that anyone distributing GPL'd works or works made from GPL'd works distribute in turn under GPL. That condition is a very minor restriction, from the copyright point of view.
So because the code falls under the jurisdiction of the GPL, no one can place any restrictions on redistribution, including the copyright holder. This means that even if it could be definitively said that Emir Sakic created a derivative work of the code that he'd written for Furthermore, Brian Connolly has no legal recourse for preventing its distribution or use. Just to make sure, we also asked Open Source Initiative attorney Larry Rosen, author of the new volume Open Source Licensing: Software Freedom and Intellectual Property Law, about this point of legal trivia.
"By definition all software released under the GPL means that one can assume the work may be copied, distributed, or otherwise modified by any other user," Rosen said. "The creator can't 'GPL' something and then turn around and say, 'I really didn't intend this to be used any other way.' That makes no sense."
Mambo users are safe
After having argued on the Mambers message forums with developers and members of the Mambo community and seeing that no progress could be made, Connolly decided to move the issue to a larger venue. His final method of defending what he perceived to be his invention and property was to put up a Web site telling his half of the story and threatening to sue some of the approximately 5 million Mambo OS end-users. To better accomplish his goal, Brian Connolly contacted SCO Group spokesman Blake Stowell and, during the course of a five to ten-minute phone conversation, obtained media contacts that Stowell thought would be helpful to Connolly's situation.
Nothing can stop Brian Connolly from making good on his public threats to sue innocent end-users -- anyone can file a lawsuit for any reason -- but the legal basis for such action is nonexistent. Larry Rosen told us that he "could not imagine any court issuing a judgment against any user of software released under the GPL, as long as the user abides by the rules of the license."
Code comparison
It has already been established that all code in question is under the GPL and may be freely used, distributed, or modified. But as a further testament to the fact that the lead story block code in Mambo OS is distinctly different from that which powers Furthermore, we've prepared a brief code comparison:
In the top image you'll see the table that contains the front page stories in Furthermore. Below it, the equivalent code as obtained from the MamboForge online demo and configured to use the lead story option. This is not the originating PHP, but the resultant HTML that both sites generate. It can be freely viewed by anyone through a standard Web browser. For this example we've removed unecessary white space and copied the content from the demo code to the Furthermore code so that you can better see the exact differences in how they are rendered.
The Mambo code is much cleaner; more of the presentation elements have been relegated to an external cascading style sheet, and in accordance with HTML 4.01 standards, the code tags are all in lowercase. The Furthermore code also uses the deprecated FONT tag, whereas the Mambo code puts all font specifications into the style sheet. The primary operator here is the colspan
attribute, which turns a two-column table into a single-column for a single row, thus producing one story with two below it. That's the lead story block, and as you can see, there isn't much to it. Although Emir Sakic said it was nine lines of code, only one of them really made the magic happen.
Conclusions
The Brian Connolly/Mambo situation boils down to one man not doing enough research into the licensing details of the GNU General Public License, then taking his case to public message forums instead of private communication with the project leadership and eventually resorting to threatening uninvolved people with litigation.
The problem all along has not been that Connolly was violently seeking revenge, but that he'd made several erroneous assumptions about a wide variety of things, then used those assumptions to unintentially mislead people. He spoke with Larry Rosen of OSI, John Weathersby of the OSSI, Blake Stowell of SCO, and a few other unnamed sources who gave Connolly good advice. The problem is, he told them the wrong story.
Brian Connolly told us that this would not be resolved in the media, but his actions paint a portrait of a man who tried very hard to gain support from the press and free software community.
This is hopefully the end of this story, but it also marks the second time that the boy has cried wolf in the press (the first being SCO). Each time a false code theft or copyright infringement claim is publicly made against free software, the patience and understanding of the community wanes. Companies like SCO and Furthermore, Inc. make it more difficult for genuine code theft and copyright infringement claims to be made by people who have checked their facts and gathered reliable evidence.
Copyright 2005 Jem Matzan. No reprints without written permission.