Epubcheck Needs You
This is a guest post from Tzviya Siegman, co-chair of the W3C Publishing Working Group.
epubcheck needs you
Do you use epubcheck? Most developers who have even thought about EPUB rely heavily on epubcheck, the open source validation tool for EPUB. Most retailers will not accept a file unless it passes epubcheck. Most publishers require that their files pass epubcheck in order to enter their content management systems. Most developers run files through epubcheck regularly for a sanity check.
Here’s a little secret. Epubcheck is maintained by two developers, Romain Deltour of DAISY and Tobias Fischer of Pagina, with occasional contributions from others. Those developers have full-time jobs, and they are working on other projects. Romain has been shifting his attention to other projects at DAISY (check out https://github.com/daisy/ace). That means that epubcheck is down to roughly 3/4 of a developer (plus me, doing a little bit of project management). Historically, there has been input from developers across the industry, and we thank the numerous contributors over the years, but now we are at an all-time low. Without epubcheck, EPUB cannot thrive.
So, it’s up to you, the industry that relies on epubcheck to enable its continuity. We need Java Developers, but we also need people who are familiar with EPUB to help document changes to the specifications. We need people who love GitHub to help us clean up our site and log issues. We need people to help with daily trouble-shooting and people to help with longer-term projects, such as support for EPUB 3.1.
You must be wondering what you I do to rescue this crucial tool:
- Join the party at EPUB 3 Community Group at https://www.w3.org/community/epub3/. We have a special task force for testing and validation. You know you’ve always wanted to join a task force.
- Read our How to Contribute page. There’s a lot of information about what we need and what skills are required to help out.
- If you can’t do those things, we’ll take your money so we can pay other people to help out. Contact me if this is your favorite option.
Tzviya Siegman is Wiley’s Information Standards Lead. Tzviya wrote and maintained Wiley’s ebook specifications and stylesheets and serves as Wiley’s liaison to industry standards groups. She currently works in Wiley’s Platform Architecture Group, joining her interests in content structure, standards, accessibility, and linked data. Tzviya co-chairs the W3C Publishing Working Group, helping to make the web and publishing better friends.
But please note: epubcheck is released under the X11 license, that means: no copyleft. Anybody can turn your contributions into a proprietary package so even you as developer wouldn’t benefit from bug fixes and improvements, let alone all the users and community, while the proprietary package will always look better in terms of features than the libre licensed one. At the same time, users don’t understand or get educated by X11/Open Source people that software that’s libre licensed doesn’t necessarily have to mean that it’s gratis, free of charge, so anybody who is relying on epubcheck is permitted and encouraged to contract a developer for work on the project or do it in-house, and even sell the result to compensate for the expenses, as long as the four essential software freedoms are granted to every recipient of the software. If users still opt to rent expensive, limited, restrictive, proprietary products for their publishing workflows, it’s no wonder that open/free/libre projects tend to get abandoned or can’t rely on the excessive resources gathered by companies who reinvent the wheel over and over again for reasons of competition instead of cooperating in building better, compatible, interoperable, open, available, accessible, libre licensed technology and infrastructure. I don’t see why I should waste my time just because somebody didn’t get the legal stuff right for this project.
X11 is exactly the correct license for this sort of project. It’s core infrastructure for ebooks.
BSD-style licensing is about making the world better, not about selfishly protecting your code.
I won’t get into a debate here, just didn’t want “GPL is the only true license” propaganda to be the only link here. Feel free to have the last word.
I’m missing some reasoning why that should be the case, I could just as well claim that AGPLv3 + any later version is exactly the correct license for this sort of project. Don’t get me wrong, I don’t object using epubcheck as it’s indeed freely/libre licensed software, I personally just not too inclined to waste time on it for reasons presented above. If you want to contribute your time to be exploited by others making a proprietary product out of it, just go ahead, more power to you, that’ll be fine for the parts commited to the “official”, open repository. As you’re defending ways into propriety, I would consider that as a downgrade for core publishing infrastructure. That the BSD-style licenses are about making the world better and others to selfishly protect code, is a mute point. The same could be said for the AGPL or beerware or all rights reserved, they only differ in what they mean by “better”, for whom and how they want to achieve that. GPL-style licenses are about protecting the code by the community/public for the community/public, while X11/BSD don’t care about that whatsoever. Feel free to get into a debate here, but please provide some details/substance on why you think the X11 can be exactly the correct license.
I don’t know anything about the licensing issues you point to, Skreutzer, but I do now that epubcheck is freely available in a few places, including GitHub, and is an important tool in any ebook developer’s workflow. I am almost certain that if you use it, you benefit.
A call for volunteers does not warrant this excessively negative “explanation.”
If you don’t know anything about the licensing, how can you evaluate if the call for volunteers warrants “this excessively negative ‘explanation’”? True, there’s nothing wrong in using the tool (but this isn’t a call for usage) or asking for volunteers, and if they have plenty of time to spent, I don’t mind if they invest it. On the other hand, developers usually have a lot of projects, especially those working on free/libre software (as users don’t get why they should pay for it, so the work tends to be done in valuable, scarce spare time and not a paid job), so there’s reduced change somebody will heavily invest volunteer time into the tool, especially as one could also spend it in writing an editor or writing application that outputs nothing but valid EPUBs, and get more out of it. And as already described, let’s imagine somebody starts a proprietary validator based on epubcheck, and fixes bugs in it and improves it, doesn’t need to contribute back but benefits from the work of the volunteers, guess what: the proprietary version can always be better, and volunteer contributors have to reinvent the wheel which is already there in the proprietary version, just because of legal decisions that were supposed to make the world better.
I don’t think that I’m specifically negative about the project, I just want to point out that volunteers should think twice except they don’t care about negative “surprises” and wanted to explain why I don’t even consider or pay attention to the effort. I mean, if I run into a bug or something or need a small change, why not contribute that back under X11/BSD, but actively working on issues that get submitted? No, there are plenty of other things to do, and be it building alternatives to freely/libre licensed software packages that don’t care in their EPUB export at all about validity.
In case you don’t want the legal discussion under the article, feel free to delete my comments, they’re not relevant regarding what happens to epubcheck anyway.
Stephan, I agree with you on some of the points relating to the licence. Of course, it can be frustrating for a developer to pass on all his rights and allow his contributions to be used to create commercial products. And of course I also have respect for the decision to say in this case that you don’t want to bring yourself and your intellectual property into this project.
However, although EpubCheck is used a thousand times on a daily basis, it is certainly not a project on which a business model could be built. It is a software library, now maintained by the W3C, whose sole purpose is to check EPUB files against a specification.
What would a company gain from building and using an EpubCheck clone if the rest of the world uses the official version – and has to use it because the shops use the official validator?
This is of course exaggerated and maybe naive. And as one of the project’s maintainers, I often aks myself why I do this on a voluntary basis and in my spare time. Of course, I also know that everyone could take my shitty code and make millions, but to be honest, I don’t care.
This may sound even more naive, but I’m just trying to do my part in a community project that I use every day. No matter if it is BSD, AGPL or Apache licensed.
Just my two cents…
btw, our own BSD licensed project transpect shows that much of the code paid by different customers is published as OS. Furthermore, GPL is not helpful to propagate OS, because many companies use GPL just to aquire the OS label. Instead they offer a minimal feature set as OS and the enterprise features remain closed source. In this sense, GPL prevents that OSS can be used by a broader audience. If epubcheck would be licensed under the GPL, fewer companies would make use of it. And you cannot expect seriously that anybody would publish customer configurations as OSS. But in the end, this thread is to find new developers for epubcheck and not to talk about licensing stuff.