Project of the Month, August 2007

August 2007: Inkscape


Key developer(s):

Bryce Harrington
Bryce Harrington
Age: 36
Occupation: Ubuntu Xorg maintainer
Education: MS, Aeronautical Engineering, Caltech
Location: Tigard, Ore.

MenTaLguY
Age: 28
Occupation or experience: Programmer, comic artist
Education: BA, Graphic Design
Location: Eastern US

Ted Gould
Ted Gould
Age: 29
Occupation or experience: Engineer
Education: M.S. E.E. — emphasis in Computer Architecture and Image Processing
Location: Los Angeles, Calif.

Aaron Spike
Aaron Spike
Age: 27
Occupation or experience: IT staff
Education: BA from Martin Luther College, New Ulm, Minn.
Location: New Ulm, Minn.

Josh Andler
Age: 26
Occupation: IT manager and consultant
Location: Phoenix, Ariz.

Colin Marquardt
Age: 35
Occupation or experience: Chip design
Education: University of Applied Sciences
Location: Stuttgart, Germany

Johan Engelen
Age: 24
Occupation or experience: Doing Ph.D. in Electrical Engineering
Education: MSc. in Electrical Engineering, University of Twente, The Netherlands
Location: Enschede, The Netherlands

Quote about SourceForge.net?

SourceForge.net is an open source project’s Swiss Army knife.

Why did you place the project on SourceForge.net?

We had some limited experience using SourceForge.net on the Sodipodi project for doing bug tracking and releases. Since we all already had SourceForge.net IDs and were accustomed to processes based around SourceForge.net’s services, it was a natural fit.

How has SourceForge.net helped you?

While we have the technical expertise to run many of the services that SourceForge.net provides, using SourceForge.net has helped us get the services out to our users faster, and with minimal IT administrative overhead.

The number one benefit of using SourceForge.net is:

Easy access to the extensive mirror system. For a popular project like Inkscape, the bandwidth costs for downloads would be impossible to cover if we had to pay for them ourselves. This service represents a large tangible value to our project and the many people who download it.

Description of project

Inkscape is a cross-platform Scalable Vector Graphics (SVG) editor, like Adobe Illustrator or Macromedia Freehand, except it is open source and free. Inkscape’s primary goal is to implement the W3′s SVG Specification and to be the premiere SVG editor. There is also a great focus on an intuitive interface that is both welcoming to new users and empowering to graphic artists and designers.

Trove info

  • Operating system: 32-bit Microsoft Windows (NT/2000/XP/Vista), all POSIX (Linux/BSD/UNIX-like OSes), Linux, Mac OS X
  • License: GNU General Public License (GPL)
  • Hardware requirements: Most processors; 512M RAM
  • Language: Belarusian, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, English, French, Galician, German, Greek, Hungarian, Irish Gaelic, Italian, Japanese, Korean, Lithuanian, Norwegian, Panjabi, Polish, Portuguese, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese
  • Programming language: C, C++, Python

Why and how did you get started?

The Inkscape project was organized by the userbase of an older program called Sodipodi. The Sodipodi codebase was used as a starting point, but the user interface was redesigned and the programming language was changed from C to C++. We put strong emphasis on community involvement, putting out frequent releases, and focusing intensely on stabilization and good QA practices. This quickly earned us a strong and active community.

What is the software’s intended audience?

Everyone who needs scalable graphics. We know of people using Inkscape
for everything from doodling to professional design. Some typical uses
are illustration, comics, presentations, graphing, logo design, flyers,
newsletters, business cards, brochures, Web design, floor plans, and
maps and charts.

How many people do you believe are using your software?

Somewhere around 500,000. It’s hard to say for sure.

However, we measure the success of the project not by how many people use it, but by how many contribute to it, because it’s the contributors that add the value. We just recently reached our hundredth registered Inkscape developer in our SourceForge.net user registry. We also have a vast number of not-yet-registered contributors who help with translations, user tech support on the mailing lists, and bug wrangling.

What are a couple of notable examples of how people are using your software?

Some of the more interesting uses we know of would be video game graphics, movie production, and even crime scene plotting. A detective needed some software for drawing out crime scenes, but his department’s software budget was very limited. He needed a symbol library (which Inkscape doesn’t have), but once realized he could hide his bodies, murder weapons, and so on in the area outside the page margins, he had the perfect tool.

What gave you an indication that your project was becoming successful?

In the first year of the project, we were thrilled to exceed Sodipodi’s download statistics, and then later to enter the top 10 most active projects on SourceForge.net. These days, when we put out a release, it’s not unusual for us to hit the #1 most active slot.

What has been your biggest surprise?

My biggest surprise happened while visiting a friend of a friend for a dinner party. In the course of the conversation someone asked what I did, and as an aside I added that I also helped develop a software project called Inkscape. The host was amazed, and related how he used Inkscape to draw all the diagrams in his doctorate thesis. You find Inkscape users in the most surprising places!

What has been your biggest challenge?

Like most volunteer-driven open source projects, simply finding sufficient time for development is one of our major challenges. The experience working in Inkscape has helped many people move their careers forward — with the inevitable consequence that their Inkscape time decreases. We hope that we can continue to make Inkscape a great place for new open source developers to learn, so that we can have a continual stream of new blood in the project.

Why do you think your project has been so well received?

We like to think it’s because of our active and welcoming community as well as the low bar of entry for new users and new developers. We’ve put a lot of attention into Inkscape’s usability by providing an interface that is both straightforward for learning the basics, yet optimized for expert artists with carefully chosen shortcut keys and workflows.

Where do you see your project going?

As we see Web browsers and mobile devices implement or improve their SVG capabilities, we see our project becoming synonymous with the creation of those SVG files. We also see Inkscape becoming widely used and accepted in the professional graphics field.

What’s on your project wish list?

Completing the transition from C to C++ and GTK to gtkmm. Full integration of the 2geom geometry library. Great support for PDF read/write, color management, and clipart tools. And especially, more long-term developers, because new contributors are our key to achieving the wishes.

What are you most proud of?

The fact that Inkscape has played such an important role in improving the visual appeal of so many open source projects and software, from icons to splash screens to Web sites.

If you could change something about the project, what would it be?

It would be great to have a few people able to work on Inkscape as their full-time employment. We’ve seen great value come from students employed to work on Inkscape through Google’s generous Summer of Code project, and we can only imagine the benefits that could come if a few core developers were able to spend full time on the project in general.

How do you coordinate the project?

The SourceForge mailing lists are the primary way we formally coordinate the Inkscape project. IRC and Jabber is also used when possible for more personalized, informal coordination.

However, the Inkscape project is not a top-down ordered project. In general we strive for a more bottom-up approach – sort of a “do-acracy”. Whomever takes the most interest in a given feature and does the most work, gets to have their decisions carry the most weight. We encourage people to work on whatever motivates them the most, since this tends to result in coupling the problem to the person who cares deepest (and thus is willing to volunteer the most time) to it. If that person does well, they gain respect and are allocated additional freedom (and responsibility) for covering the given area.

So far, this approach has worked quite well. It’s enabled people who are passionate about Inkscape to get involved, learn necessary coding skills, and be able to place their own stamp on the project.

Do you work on the project full-time, or do you have another job?

All of our developers have day jobs.

If you work on the project part-time, how much time would you say you spend, per week, on it?

Bryce: 0-10 hrs, more around release times

MenTaLguY: 0-20 hours

Ted: On average 5-8 hours

Aaron: Fewer than 10 hours

Colin: About 2 hours

Johan: About 14

What is your development environment like?

Bryce: Emacs on Ubuntu

MenTaLguY: Principally vi on Linux

Ted: Powerbook G4 running Ubuntu Fiesty

Aaron: Ubuntu Linux and Windows XP

Josh: Ubuntu Gutsy and gedit

Colin: Ubuntu Linux with GNOME, GNU Emacs

Johan: Mainly Windows XP; using Notepad++ for editing, the command line prompt for building, and gdb for debugging

Milestones:

  • Version 0.45.1 (March 23, 2007) was a bugfix release.
  • Version 0.45 (February 5, 2007) has support for Gaussian blur and many other minor modifications to existing features.
  • Version 0.44 (June 24, 2006) added a Layers dialog, support for clipping and masking, improved PDF export with transparency, and performance improvements.
  • Version 0.43 (November 19, 2005) added Connector tool, collaborative editing, tablet pressure/angle sensitivity, and Node tool enhancements.
  • Version 0.42 (July 26, 2005) added flowed text support, styling text spans, enhanced effects support, and the new gradient tool.
  • Version 0.41 (February 10, 2005) added the clone tiler tool and color tracing, plus many bugfixes.
  • Version 0.40 added support for layers, bitmap tracing, and text on path.
  • Version 0.39 was the first release to use the Pango library, bringing better support for more languages, as well as support for markers, clones, and pattern fills.
  • Version 0.38 was a bug fix release, but it also featured text kerning and letterspacing, multistage gradients, and many usability enhancements.
  • Version 0.37 saw the addition of boolean path operations and path inset/outset.
  • Version 0.36 was the first release with the reorganized UI using a menu bar and docked context-sensitive toolbars in the document window.
  • Version 0.35 was released on November 2, 2003. It was the first release of Inkscape, and very similar to Sodipodi version 0.32.

How can others contribute?

People can contribute in any number of ways. Whether programming, writing documentation, translating, testing, helping with the website, or even just helping to answer user questions on our mailing lists and in our Jabber/IRC channels. Anyone who is interested in getting involved can just drop a line on either our user or developer mailing lists or just drop in our Jabber/IRC chat room to introduce yourself!


Interested in having your project be Project of the Month? Here’s how to apply, it’s easy: Write a note to staff@sf.net with the subject line: POTM. Mention your project name and why you think your project should be selected.

Check out our previous projects of the month.