About

What is Sigil?

Sigil is a multi-platform EPUB ebook editor (think Word or LibreOffice but specific for EPUB ebooks) with the following features:

  • Free and open source software under GPLv3
  • Multi-platform: runs on Windows, Mac, and Linux (note Linux only receives limited support)
  • Full UTF-16 support
  • EPUB 2 spec support with limited EPUB 3 support
  • Multiple Views: Book View, Code View and Preview View
  • WYSIWYG editing in Book View
  • Complete control over directly editing EPUB syntax in Code View
  • Table of Contents generator with multi-level heading support
  • Metadata editor
  • User interface translated into many languages
  • Spell checking with default and user configurable dictionaries
  • Full Regular Expression (PCRE) support for Find & Replace
  • Supports import of EPUB and HTML files, images, and style sheets,
  • Documents can be validated for EPUB compliance with the integrated
  • All imported files have their formatting corrected, and your editing can be optionally cleaned
  • Plugins!

History

This is the boring part so that’s why it comes after the features which is what people really care about. Most of this is from memory and looking back though emails. Sigil has been around for a number of years so and changed hands during that time.

The beginning

Sigil was started by Strahinja Marković in 2009. It started as a school project as part of his computer science course work and was the basis of his Bachelor’s and Master’s thesis. While it was a school project there was plenty of time to devote to working on Sigil full time. Once Strahinja graduated the magnitude of keeping a project like Sigil wasn’t as simple.

Simply put he was done with Sigil for a few reasons: 1) he got a job which took away most of his free time. 2) After two years of working on the same code day in and day out he got tired of it. His exact words were “I’ve been looking at this codebase for over two years now, and frankly I’ve grown weary of it.”. 3) He felt it was time to move on and contribute to other projects and use his free time in a more free manner such as working on other open source projects.

Strahinja leaving Sigil and the transition to new maintership

In June of 2011 Strahinja made a post on the then Sigil development blog stating that he was leaving and a new maintainer was needed.

I (John Schember) who had been developing for calibre decided to step up and offered to becoming the maintainer of Sigil. By July of 2011  I was the official maintainer of the code base.

Strahinja said some very kind things to me during the transition. His trust in me made me feel I was right for the role. Specifically he said these two things that have stuck with me (because I highly respect him as developer).

1) “Frankly, even if someone comes forward who’s willing to devote more time to Sigil than you, I’d still probably tap you for the PL/gatekeeper role because I know I can trust your judgment. Other people could then contribute under whatever level of supervision you deem necessary.”

2) “Like I said, I’m not going to lay down any expectations/requirements. If you decide to take over the project as the maintainer, you’d have free reign over any aspect of Sigil development; you’d become “the boss” and how you decide to evaluate future contributions from others (and yourself) is up to you. I’m not going to interfere in any way, shape or form. I really want you to know you’d have full autonomy to do whatever you feel is necessary. I trust your judgment.”

Giving someone full control over your project, a project you started and were basically the sole developer on is very difficult. He basically handed me the keys to his classic Mustang and said it’s yours do what you want even if you wreck it I won’t mind.

The expectation and the reality

When I (John Schember) took over I was planning on being a project manager for Sigil. My goal was to manage releases, help contributors, evaluate code but not actually write code myself. My goal for Sigil was to keep it moving forward from a project manager standpoint and continue coding for calibre.

Very few contributors came forward to help which has always and still is a problem for Sigil. Especially when compared to calibre. At the time of transition the 0.4.0 release was nearly ready. Only a few pieces were missing. Knowing C++ and Qt (which Sigil is written in) I decided to finish the 0.4.0 release and get it out the door.

With very few contributors I ended up doing the vast majority of development nearly full time (like Strahinja had). I needed a break and in late 2013 simply stopped coding. There were a few contributors over the years but they few 3-4 people total and they all wanted to work on specific things. That’s fine and perfectly natural and acceptable. A contributor can work on what ever they want, that’s the point of open source software.

Two people really helped get the 0.7.x release done and once 0.7.4 was released the two contributors felt they had finished what they wanted to accomplish and moved on. At that point I said that I couldn’t continue at the rate I had been developing and I needed help. No help came forward. So I took a break.

Sigil wasn’t shuttered and I still worked on it from time to time but it wasn’t much and it was light. Like with Strahinja, life changes and more important things happen that get in the way. Plus like him developing so much for so long I was feeling a bit burned out. The 0.7.4 release as October 27, 2013.

Sigil’s Spiritual Successor

When I said I couldn’t work as the sole developer of Sigil people went overboard and acted like the sky was falling. Kovid Goyal from calibre stepped in to create Sigil’s Spiritual Successor which is an EPUB editor as part of calibre. I didn’t contribute any code to this endeavor but did talk to Kovid about features. He released it and I announced on Feb 9, 2014 that, “At this point Sigil is no longer being actively developed.” Since the 0.7.4  release until then I hadn’t touched Sigil’s code. But at least there was something Open Source, stable, and had an active development community that people could use.

A lot of people took not being actively developed to mean Sigil was dead. I wasn’t. I just didn’t have any one coding. It was still there, it was just in hibernation waiting for people to contribute.

September of 2014

In September of 2014 after over a year of calibre’s editor being the mainly developed editor and having a vast majority of features a lot of people didn’t like the fact that it was tied to calibre. Most didn’t like that they had to have all of calibre installed just to use an editor.

Kevin Hendricks stepped up and decided that he’d had enough and wanted to see Sigil continue. Since then he’s been the driving force for writing code. He’s even gotten me back into it in as my time allowed. With his help Sigil has had multiple new releases and is on a good path for the future.

June 2015

Maintainership transferred from John Schember to Kevin Hendricks and Doug Massay. The reasons for John leaving are simple. 1) Lack of time is the main reason. 2) Lack of motivation. It wasn’t fun any more.

What most people never knew is John never actually used Sigil. His motivation was for there to be a free and open source ebook editor available to those who need it. In addition to having a fun project to work on. Alas, times and interests change and as before it’s better to leave Sigil in the hands of people who (for as long as they’re willing) will continue making it great than to let it die.

Things left out

At one point Sigil was hosted on GoogleCode, it had a GoogleGroup and it even had a twitter feed. GoodCode is basically shutting down so development was moved to GitHub in September of 2013. Having multiple support forums didn’t make sense so everything was consolidated into MobileRead and I don’t like or use Twitter so that was just stopped. I didn’t see a need to have a long form blog with an RSS feed to notify people of releases and a twitter account to point them to the blog.