Update: HamsterSoft has fixed the issue and is now in compliance with the GPL. They are no longer in violation of my copyright in regard to calibre

Introduction

Copyright infringement is something many creators come face to face with. Over the past two months it has been something I’ve been dealing with. A third party is using portions of calibre in their proprietary application in violation of the GNU GPL version 3 (GPL v3) that calibre is licensed under. I have been helping deal with this violation.

In early July it was brought to my attention that a new ebook conversion utility, the Hamster Free eBook Converter (HFEC) made by HamsterSoft, was released. Since I work on calibre, looking at other ebook conversion tools is of interest to me. I’ve worked with other people on developing conversion tools and I’ve found that collaboration typically helps everyone.

About the Company

When I started looking into HFEC the fist thing I found was an announcement on the calibre Facebook page that the HFEC is using calibre for conversion in a non-compliant manner. Again, calibre is open source and licensed under the GPL v3. Using calibre’s source code in other programs is fine. We want people to do that and I’ve even helped people with doing so. However, the choice of license was deliberate. Kovid Goyal (the original creator of calibre) chose the GPL v3 because he believes in what the license stands for. Calibre using the GPL v3 is a major factor in why I started contributing to the project. All we ask is that if someone uses portions of calibre in their own project is that they abide by the copyright terms calibre is licensed under (GPL v3).

I looked at HamsterSoft’s website and they offer a variety of products; HFEC is their fourth application. What I noticed is two of their earlier products are very similar in design to HFEC. HamsterSoft use open source projects as the basis of these products. They create a custom interface around an open source base and release their program under a closed source, highly restrictive, proprietary license. In the case of the previous two products the open source projects they used are licensed under weak copyleft licenses. In the case of these two applications there is a good chance that they have not done anything wrong and have properly complied with those projects licenses.

Calibre however, uses a strong copyleft license. While investigating HamsterSoft I noticed that they had calibre listed as being licensed under the LGPL. The big difference between the LGPL and the GPL is the LGPL allows for incorporation in a proprietary application. The GPL does not. Under section 5 subsection C of the GPL v3 it states, “You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy.” Meaning HamsterSoft must release their entire work that incorporates calibre under the GPL v3 and the GPL v3 also requires access to source code.

Initial Contact

The announcement about the GPL violation was made on July 7th. That same day HamsterSoft responded in a comment. They said, “@Calibre Got it! . We will fix this issues and ask you for your own acception. Thank you! Seems we mess much. Thank you!” I believe that by “acception” they mean exception. Kovid responded to them asking for an exception with, “@Hamster: Fix your GPL compliance. That means you have to make your product open source or stop using calibre. That much is required by the law.” It’s clear that Kovid has denied granting HamsterSoft a copyright exception to use calibre in HFCE without complying with the GPL v3. Also, even if Kovid had wanted to grant them an exception he cannot. Calibre does not practice copyright assignment. Each contributor retains the copyright on the work they contribute. To grant a copyright exception every contributor would need to agree and I for one would not agree to granting one. I purposely and knowingly put my work on calibre under the GPL v3 because that’s how I want my work licensed.

So, as of July 7th HamsterSoft was contacted in regard to the GPL violation in their HFEC program. Also, on July 7th they responded saying they undertand the issue and will fix it. Under the GPL v3 section 8 HamsterSoft has 30 days from receiving a notice of violation to cure the violation.

On July 11th HamsterSoft responded to their GPL violation via a FaceBook post. In this post they said, “Guys … seems we are much closer to the end of misunderstanding.” Closer is not fixed. Kovid responded to them with what needed to be done to come into compliance with calibre’s licensing (the GPL v3). This was the last communication from HamsterSoft that I am aware of.

Analysis of Steps Taken Toward Compliance

HamsterSoft appeared to make some effort to comply with the GPL v3. I cannot comment on motivations as they could be considered libel so I am only going to state facts as to the action HamsterSoft took. They clarified their licensed (EULA) that GPL components are not subject to their added restrictions such as disassembly, decompilation and reverse engineering. They modified their installer, website and Facebook page to make it clear that their product uses calibre. They uploaded some source code to their web site.

The source code that HamsterSoft uploaded was far from complete. It contains two non-complete binary builds of calibre. No mention if there are or not modifications. It is not clear if they modified calibre because the binary builds are only part of calibre not the entire program as it is officially distributed. No calibre source code, which they must supply (it’s not enough to point to the calibre project’s download page), was present.

Only a small amount of wrapper code that interfaces between calibre and their program was present. I found the following reference in the visual studio project file included in their source archive:

<HintPath>......BinHamsterEbookConverterUI.dll</HintPath>

This is a reference to a linked, binary component. I’m assuming from the name that this is the actual graphical user interface (GUI). I will note that the GUI portions of HFEC are missing from the source archive. This component is clearly part of their application and was not included. Only portions that directly interact with calibre had their source included in the archive. The majority of the program was not released in a way that complies with the GPL v3.

No Answer Messages

With no response from HamsterSoft after July 11th Kovid sent an email to HamsterSofts support email address. Their support email is their only non-social network contact information.

On July 20th I sent them the following email and received no response:

Your web site says that the Hamster ebook converter program is based on calibre which is licensed under the GNU GPL v3. This is request for the all source code for the hamster ebook converter application. As stated by you “Hamster Free eBook Converter made by HamsterSoft and based on Calibre-engine created by Kovid Goyal and inherits all GNU GPL 3.0 restrictions.” Under the GPL using part of a GPL application in another application that application must be released under the GPL. As such section 6 of the GPL requires that the corresponding source code of a conveyed GPL application must be conveyed.

John Schember

With no response I sent another email on July 28th and again I received no response:

Hello HamsterSoft,

I am one of the copyright holders of calibre.

I noticed that you released the source code to the Hamster ebook converter. While you did release some source code you did not release all of the source code that links to the project. Specifically the HamsterEbookConverterUI in by the .csproj file referenced by:

……BinHamsterEbookConverterUI.dll

As of July 7th you said you would fix this situation. The above does not fix the GPL compliance of the Hamster ebook converter. Under the GPL all parts that link or create effectively a single program must be licensed under a compatible license. The Hamster ebook converter is effectively a single program and uses calibre (licensed under GPL) you have released source code but only part of the source code. Other parts are linked and used the HamsterEbookConverterUI. This needs to be released in source form as well. The GPL does not permit the use of a “wrapper” module that intefaces between GPL and non-GPL components.

I want to point out that under the GPL you have 30 days from the first time you have received notice of violation to fix the issue. As of now you have approximately 10 days until the deadline where all rights granted to you under the GPL to use calibre will be terminated. The deadline is Sunday August 7th.

Also, I want to point out that calibre is developed primarily by Kovid Goyal but he is supported by a number of other developers around the world. Due to the way calibre is licensed each individual developer retains their own copyright. As such each individual developer can claim copyright infringement if this situation is not rectified in the allotted time.

John Schember

After having been given 30 days (as required by the GPL v3) from notification HamsterSoft has not brought themselves into compliance with calibre’s licensing. So, on August 8th I sent them the following email informing them that I am, as a copyright holder, permanently terminating any all all rights granted to them under the GPL v3 in regard to my work in calibre due to non-compliance of copyright terms.

Dear HamsterSoft,

You are using a work that I own the copyright of. The name of the work involved is “Hamster Free eBook Converter”. It appears on a site operated by you at http://ebook.hamstersoft.com/en/home, http://ebook.hamstersoft.com/en/download, and via direct download at http://stuff.hamstersoft.com/software/hamsterfreeebookconverter.exe.

You have built your program on the open source ebook tool called calibre. I am a copyright holder of portions of calibre. Specifically I hold copyright on portions of calibre relating to ebook conversion for the following formats: TXT, HTMLZ, PDB, PML, PDF, and FB2. This is in addition to other components of calibre.

My work on these components is available at http://bazaar.launchpad.net/~kovid/calibre/trunk/files/head:/src/calibre/ebooks/. Many of the listed components first appeared as part of calibre as of 2009.

Your copying and or use of my work, which appear at the link above, is unauthorized. You have not received permission to use the piece nor to make or distribute copies of them in the manner you have. Calibre is licensed under the GPL version 3 and you have failed to comply with the terms of this license.

You cannot incorporate GPL-covered software in a proprietary system. The GPL states that any extended version of a GPL covered work must also be released under the GPL if it is released at all. By embedding calibre in The Hamster Free eBook Converter you have effectively made them a single program. Also, the GPL does not permit the use of a “wrapper” module that interfaces between GPL and non-GPL components.

As of July 7th 2011 you said you would fix this situation. As of August 8th 2011 you have not fixed. As of now any all all rights afforded to you to use portions of calibre under the GPL v3 are terminated due to non-compliance with the license. The following issues remain:

  1. The component ……BinHamsterEbookConverterUI.dll referenced by your application has not had it’s source code released under the GPL.

  2. The source code for calibre and any modifications you have made to it are not available by you. By being a distributor of calibre in binary form you are responsible for also distributing it in source form including any changes you have made to calibre.

Therefore, I believe you have willfully infringed my rights under 17 USC §101, et seq. and could be liable for statutory damages as high as $100,000. Further, such copyright infringement is a direct violation of the Digital Millennium Copyright Act and International Copyright Law.

I demand that you immediately cease the use and distribution of the work and all copies of it, that you remove any further works you may have stolen and that you desist from this or any other infringement of my rights in the future. Furthermore, I demand that you post an apology.

You have already been given 30 days as afforded by the GPL from the time you were notified of infringement. At this time, I shall consider taking the full legal remedies available to rectify this situation including contacting my lawyer.

Sincerely,

John Schember

Termination of Rights

As of August 13th HamsterSoft has again not responded to any email I’ve sent them. They are also continuing illegally to distribute the application they have built (HFEC) using my copyrighted material. As of August 8th all rights to use my work were terminated by me per the terms of the license (GPL v3) I released my work under. Due to the way HamsterSoft handled this situation I have no intentions of reinstatement.

Copyright is copyright. It doesn’t matter if it’s software, a book, an article, or a magazine. The GPL is a copyright license granting rights under specific terms. Licensing a work under the GPL is not very different than an author giving a publisher distribution rights.

Just because calibre is open source does not mean it is freely available for everyone to abuse. As an author (including software) my work is still covered by copyright. The GPL is simply a way I have licensed certain works. If one does not comply with the license then they do not have the right to use or distribute my work.

Due to this entire situation being a copyright issue there are a number of legal options. These options apply to all authors (in the USA, I can’t speak for elsewhere) for any type of work that is covered by copyright.

Surprisingly I had an issue finding information on how to handle a GPL violation. The easy part is informing the party of the violation. I couldn’t find much information on what to do after. I tried reaching out to the Software Freedom Law Center for advice but I didn’t receive a response. Kovid reached out to GPL Violations and was told that our options are limited. Their research found that HamsterSoft is a Russian company and due to this there isn’t much they could do for us. They advised seeing about having HamserSoft delisted from Google.

The best resource I found is Plagiarism Today (PT). It is a website devoted to helping people deal with copyright issues. They provide some great resources including template letters. They have advice for all copyright issues not just ones dealing with software.

Really our options come down to filing a lawsuit or utilizing the take down notice provisions of the Digital Millennium Copyright Act (DMCA). At this point I opted for using DMCA notices. They are easy and exercising your rights under the DMCA doesn’t cost anything. Filing a lawsuit would require hiring an attorney and paying potentially a large sum of money. If HamsterSoft really is in Russia there is a good chance that a lawsuit wouldn’t go anywhere. Utilizing the DMCA does not mean that a lawsuit cannot be filled; it is still an option.

The DMCA has provisions for notifying hosts and having copyrighted material removed. Basically what happens is a host cannot be found liable for distributing infringing material posted by third parties or customers if they follow the notice and take down process. I decided to target Google, Yahoo, Bing and Facebook. I think the GPL Violations advice of having the delisted will be the most successful route I can take. It’s also the most affordable first step to take.

When sending a DMCA take down notice there are a number of requirements that must be met. What I found was not required is an account of what action was previously taken to stop the infringement. I included it anyway when possible because many hosts (and search engines) forward the notice to various parties. Google for instance sends the notice to Chilling Effects as well as the accused.

Google and Facebook both have a web form for submitting notices. Bing (Microsoft) has a number of ways to send them a notice. I chose email. I sent the notices on August 8th. Here is the email I sent to both Microsoft and Yahoo:

To Whom It May Concern,

I am writing to you to avail myself of my rights under the Digital Millennium Copyright Act (DMCA). This letter is a Notice of Infringement as authorized in § 512(c) of the U.S. Copyright Law. I wish to report an instance of what I feel in good faith is an instance or Copyright Infringement. The infringing material appears on the Service for which you are the designated agent.

You are registered with the U.S. Copyright Office as the Designated Service Provider Agent to receive notifications of alleged Copyright infringement with respect to users of the Service for which you are the Designated Agent.

  1. The material which I contend belongs to me, and appears illegally on the Service is the following:

Hamster Free eBook Converter

  1. The infringing material appears at the website addresses:

URLs Redacted

  1. The original material appears at these addresses:

https://launchpad.net/calibre http://calibre-ebook.com

  1. The infringing material is available through the following search results

“hamster ebook” URL Redacted

  1. calibre is licensed under the GPL version 3. The Hamster Free eBook Converter program uses portions of calibre in a way that is incompatible with the GPL. As of July 7th 2011 Hamster was notified and responded asking for an copyright exception. An exception was promptly denied. It has now been more than 30 days and HamsterSoft has not made the necessary changes to comply with calibre’s license. By embedding calibre in The Hamster Free eBook Converter HamsterSoft has effectively made them a single program. HamsterSoft released partial source code for their program but neglected to release all parts. HamsterSoft released portions of their program that constitute a wrapper module that interfaces between the GPL and non-GPL components. This is prohibited under the terms of the GPL.

  2. My contact information is as follows:

John Schember Address redacted Phone number redacted john@nachtimwald.com

  1. I have a good faith belief that the use of the material that appears on the service is not authorized by the copyright owner, its agent, or by operation of law.

  2. The information in this notice is accurate, and I am either the copyright owner or I am authorized to act on behalf of the copyright owner.

I declare under the perjury laws of the United States of America that this notification is true and correct.

Signed: John Schember

DMCA Response

Yahoo was the first to respond. They said they get all of their search results from Microsoft via Bing and referred me to Microsoft. So no luck there.

Microsoft responded with a request for more information. After a week I haven’t heard back from them.

Google responded on August 11th and said they would remove the urls listed in my take down notice. However, as of August 13th some of the listed urls are still returned by Google. Only a portion of them have been removed from their index.

Facebook was the most troublesome. They asked for clarification three times. I had to explain that on the HFEC Facebook info page there is a big button that says “Free Download”. When clicked it downloads the program which illegally (rights were terminated by me due to non-compliance with the GPL v3) uses my copyrighted work. I ended up having to take a screen shot of the page and put big red arrows pointing to the button. After this Facebook responded saying that they’ve removed the user generated content I reported as a copyright violation.

Conclusion

Having your hard work ripped off is not any fun. It’s even more of a slap in the face when you put your work out under a license that encourages and allows reuse and remixing. The GPL v3 was chosen because it’s restrictions are designed to keep a work from being taken and locked down. If HamsterSoft doesn’t want to abide by these terms then they cannot use calibre as the basis of their program.

Fortunately, there are options for us to peruse. As of now we’ve started taking the easiest and cheapest. I don’t agree with certain parts of the DMCA, specifically the anti-circumvention clauses. However, the notice and takedown provision are very helpful when dealing with copyright violations.

I wish I could end this account with news of a crushing victory but I cannot. HamsterSoft is still distributing their proprietary application based on calibre and they are still able to market their program. I’ve been able to make some progress into stopping them and hopefully I will be able to make more once Microsoft gets back to me about the DMCA notice. At this point it looks like I’m going to have to explore other legal options.

Notes

  • I am very much against Digital Rights Management (DRM) and it would not have helped in this case.
  • I am not a lawyer and this is not intended to be legal advice. It is an account a specific situation of copyright infringement.
  • I purposely did not include any links to HamsterSoft’s website.

Update: HamsterSoft has fixed the issue and is now in compliance with the GPL. They are no longer in violation of my copyright in regard to calibre.