10 free apps I wish were open source

When it comes to web applications, I think free and open source software fans are settling for “free” instead of looking for the freedom they would get from open source.

Here are some free applications that I wish had open source software equivalents.  I am not unhappy with these applications. I just wish I had open source software alternatives that were as good!

Here are 10 of the good web applications that I use daily that don’t have good enough open source software equivalents.

  1. Gmail. How many free software developers use Gmail as their primary email interface?
  2. Remember the Milk. I want a way to sync tasks across multiple computers, tag them, date them, prioritize them and share them with other users.
  3. TripIt. I forward any reservation to it and it adds it to my itinerary. I can also share with friends to coordinate travel plans or just to share where we are.
  4. Facebook. There’s Identica as an alternative to Twitter but there’s no open source software alternative to Facebook.
  5. Delicio.us/Diigo. Mozilla is working on tools to help me synchronize my bookmarks across multiple machines. I also want to share and search them.
  6. Kayak.com. The best way to find cheap airfare with all the options you need.
  7. Doodle. Ever tried to schedule a meeting with lots of busy people in different time zones?
  8. Google calendar. I can manage my calendar from any where and invite others to meetings. All synced on the web, not dependent on any particular machine I’m on.
  9. Google reader. Judging from how many open source software users share items with me in Google reader, a lot of us are using this RSS reader to follow our favorite websites.
  10. Dropbox. Dropbox and UbuntuOne have become the default way for users to access files across multiple machines, remotely and to share them. Why don’t we have an open source software option yet?

Why hasn’t open source software kept up with the web application space? What needs to happen for us to have open source software web applications in these spaces?

What other spaces are also missing open source software options?

How does Malaysia encourage so many women in software?

 In 2003 I gave a talk in Malaysia. What I noticed immediately is that my audience was well over half women. This was really noticeable because they were all wearing brightly colored hijabs. Usually I scan the room and count how many women I can find – usually on my fingers even in a room of hundreds. Hijab-programmer-womanYet here were hundreds of women attending a talk about the economics of open source software!

I've wondered ever since what they do so differently in Malaysia that they get so many more women involved in software. Is it something we could do as well?

A recent study offers a theory:

in Malaysia jobs in technology
are seen as appropriate for women: Men do not perceive indoor work as
masculine and much of society stigmatizes women who work outdoors as
lower class. Computing and programming are seen as “women-friendly”
professions, with opportunities opening up since men are not
interested in competing for these types of jobs. “It’s a woman’s world
in that respect,” said Mellstrom.

So women that work in software are higher class. Where as in my experience it's often been insinuated in the US that if you are attractive or social, there are better careers for you. "You're a programmer?? You don't look like one!"

More Women in GNOME Now!

The GNOME community is extremely diverse when it comes to nationality. But we don't have many women working on GNOME.

We want to make sure that women interested in working on GNOME know they are welcome, so we have announced the

                GNOME Outreach Program for Women!

The goal is to encourage women to participate in GNOME and to provide internship opportunities in the summer.

IStock_000002762853XSmall We noticed a problem back in 2006. We had 181 submissions for Google’s Summer of Code – and not one was from a woman. So Hanna Wallach and Chris Ball launched the Women's Summer Outreach Program. We received a 100 applications from women that summer and were able to accept 6 – six women were paid to work on GNOME and mentored by GNOME developers. (Sponsored primarily with a grant from Google.) Recently Marina Zhurakhinskaya followed up with those women and decided we should do it again and expand on the program.

So we are once again doing a GNOME Outreach Program for Women.

How can you help?

  • Encourage women to apply to the program!
  • Mentor a woman in the program.
  • Contribute financially to help pay the stipends.
  • Convince a company to sponsor the program.
  • Encourage your company to hire a female intern to work on GNOME.

Please help! Spread the word! Encourage women to join GNOME!

Should you ask developers for money? And other interesting fundraising dilemnas.

300x300_cjohnson Chris Blizzard introduced me to Clay Johnson. I had such an interesting time talking to him about social networking, free and open source software, governments and fundraising that I asked if he’d share some of his points in a blog interview.

Meet Clay Johnson, Director of Sunlight Labs!

Hi Clay, you have a lot of experience with online social networking. Where’d you get that experience?

It’s weird– I started out with social networking before social networking was called “social networking.” In college, back in the early days of the web, my Dad would always ask me to look things up on the Internet for him. I began to get tired of answering questions, so I built a service that would let people ask questions and answer them online– that way, I figured, he could have a whole community of people answering his questions. That was KnowPost.com, the first “social network” I built on my own.
A few years later, I found myself working on the same kind of project with some friends called ZeroDegrees.com, which was a social networking service built into Outlook. And shortly thereafter, the Howard Dean Campaign hired me to be their lead programmer and build Dean Link, a privately branded social network. Then quickly found myself starting the company that created My.BarackObama.com— yet
another social network.
It isn’t intentional, I swear! I find both socialness, and networking exhausting …

You now work at Sunlight Labs on “opening” the American government.
What’s that about? How can we help?

Our mission is to use technology to make government more open, accessible and accountable to its citizens. We’re now a community of about 1400 developers at SunlightLabs.com. Last year our community built out about 100 different open source applications based on making government more open accountable,  accessible and open.
The apps range from things like Congrelate.com–which allows you to sort and view information about Congress, to TransparencyCorps.org— our own Open Source Mechanical Turk, to ThisWeKnow.org which takes data from the federal government and makes it relevant to your area and GovPulse.us— a site that takes the Federal Register (the official Journal of the Federal Government) and turns it into something people can actually read.
Our hope is that our work will result in economic opportunity (GPS, Weather Data, the Human Genome– all built on government data!), a more accountable government, and more rational political debate as people have more access to facts. The fact that there’s more data on Manny Ramirez and his job performance than Nancy Pelosi’s is kind of crazy and we hope to change that.

I’ve heard you say you should never ask a developer for money. Most free and open source software projects turn to those they know best, developers, when they need funds. Why do you think that’s a bad idea?

Let me hedge here a little and say you shouldn’t ask a volunteer for money. For the same reason the folks at
Habitat for Humanity don’t come and ask you for money while you’re putting up drywall in one of their houses. There’s a spectrum when it comes to open source software. One one side there are projects that are
driven out of the hope for a larger good– I’d call these traditional volunteer projects– where people are  donating their time to help make the world a better place. Then there’s the other hand: stuff that’s driven out of necessity. Obviously this is a spectrum and projects move within it. When you have stuff on the ideological side– stuff built genuinely not out of the desire to solve a specific problem, but to make the world a better place, then those developers are likely already donating to your project with their time.  They’re being altruistic already. When you have a developer giving their time out of
necessity, they’re getting a return on their investment– usually a more efficient workplace, better software for them to use, or some other personal need filled. It’s entirely appropriate to ask them for money as well– as their return on investment will be even greater.
How do you think free software projects can effectively engage with donors?

Now if I had the secret to make all open source software economically sustainable and as well funded as
commercial software every time– well, I’d have told everyone by now, and we’d all be rich working on  projects we believe in. In the political world there’s a lot of best practices, but the one I like the most is to maintain long-term relationships with people via email and social media, and to make specific asks from them. So, for instance instead of saying “Donate to keep this project sustainable,” one could say “We need to build out XYZ, can you pay for ONE line of code to go to that project? Our estimate is that it’ll take X lines of code.”
Another thing you can do is look at what the clean energy community is doing– what if you created a code offset like we have carbon offsets now? What if an organization set up a website where folks could estimate the amount of free software they use and buy free software offsets on an annual basis, and make investments in free software projects? This works great because it helps donors alleviate their guilt for not contributing their time to open source projects, and makes it easy. I’d gladly put an open source offset sticker on my laptop to match my carbon offset sticker in my car.

How can we get donors participating in the project?

Allow donors to fund the projects they care about. Give them a voice in the project. Don’t just enable their participation but expect it. Build an email list and talk to them about what it is they want. Don’t send newsletters, send real emails asking them to help out. Give them a meaningful way to participate and what’ll happen is unusual: they’ll participate.

Do you have any fundraising tips for us?

Here’s what’s amazing: when you give users an active role in your community. They’ll participate more. So find ways to get them involved. For something like GNOME, come up with some principles, and get your users to sign on to them and you’ll find that if you ask them to help fundraise, they’ll do it.

What’s the single most important thing you think free software projects
could do to improve their fundraising efforts?

Start reading emails from organizations like MoveOn.org and BarackObama.com and start emulating them and their tactics. You don’t have to agree with them politically to see how they’re doing what they’re doing.
A lot of people are going to call me crazy, but look: I’d argue that GNOME has as much if not more installations than the number of people that are subscribed to MoveOn.org’s email list. And unlike MoveOn.org, a lot of these users are interacting with your software every day, not just when an email pops up in their inbox or when something happens in Washington.

What is Sunlight labs going to do next? What can we expect to see in open government?

We’re focused on launching a new contest a few short weeks. It’ll be a design contest. We want to make it so that by 2011, people who can come to SunlightLabs.com and find the team they need to open their government. Developers are a part of that, but designers are too.

Passion brings them together, the internet enables them and their diversity helps them succeed

Lots of corporations work really hard to increase diversity.

In the mean time, I think free and open source software projects have figured it out. They may not be diverse in every way possible (there's a notable lack of women and an over representation of developers – go figure) but they have succeeded in not only attracting a diverse set of people but creating a really well working diverse group of people.

I think a couple of factors have made that possible:

  1. Passion. A shared mission, passion and commitment to the project.
  2. Connectivity. The internet (email, IRC, IM, identica, etc) has enabled people to work together effectively.

Take the GNOME Board of Directors, one of the most effective and diverse teams I've had the pleasure of working with:

  • 7 people
  • that live in 7 different countries
  • on 4 different continents
  • in 6 time zones
  • and speak 5 different first languages

They are diverse in other ways too but these facts are most public.

They talk every day via email, IRC and IM, debate some pretty difficult issues and come to working agreements without a boss. (They hired me, not the other way around.) They run the GNOME Foundation.

How many other teams do you know that are that diverse and that successful?

Their passion for GNOME brings them together, the internet enables them to work together and their diversity helps them succeed.

What’s your vision of GNOME?

The GNOME Foundation's mission is to provide a free desktop accessible to everyone. Accessible regardless of their ability to pay, their physical ability or the language they speak.

But I bet if you polled all 400 members of the GNOME Foundation and a few 1000 GNOME fans, you'd get a lot of different visions of what that means. And while I think that's normal and I think that's good, I thought it might be an interesting conversation to have.

What's your vision for GNOME?

In your ideal world, does:

  • Everyone have a computer?
  • Everyone have a computer running GNOME?
  • Everyone have a computer running free software?
  • Everyone that has a computer is using free software? GNOME? (And not everyone has a computer.)
  • All personal technology, laptops, phones, handhelds, use free software? Use GNOME?
  • GNOME desktops are equivalent to Windows ones? Better?
  • GNOME desktops all look alike? GNOME desktops are "customized" like Moblin, Maemo, etc.
  • Where ever there's proprietary software, there's a free software equivalent?
  • New technologies only have free software options?
  • The free software options are better technically or easier to use than the proprietary options?
  • Everyone understands what free software means?
  • Everyone thinks that free software is important? Or is it enough that they use it?
  • Everyone uses desktops? (As opposed to only using phones or mobile devices.)
  • Governments use free software exclusively?
  • No more third world countries because everyone has access to technology which has raised their standard of living?

What's your ideal future world with GNOME look like? Share your vision, leave a comment!

(Bonus question: how does the GNOME Foundation fit into your vision?)

Can free software transition to the web services world?

Etherpad is being released as open source software because the team is moving onto Google Wave. As an open source web hosted project, without a company behind it, it is unlikely to succeed.

Back when I used to talk about the business reasons for open sourcing code, “end-of-life” was always one of my first examples. People think, “oh, I have this project that I no longer want to work on but people still want to use it, so I’ll open source it!” They have the (often mistaken) idea that somebody out there will just start working on it.

This is exactly what Etherpad is doing:

Our goal with this release is to let the world run their own etherpad servers so that the functionality can live on even after we shut down etherpad.com.

They are likely to lose a lot of users immediately as hosted software is very hard for end users to use without hosting.

There is a real need for hosting of open source web services.

Open source web service projects that have been successful like WordPress and Drupal have companies that can host it for end users. Without hosting, I think it’s unlikely that projects like Etherpad will be widely successful. And we should now ask what happens to the companies behind WordPress and Drupal when they get acquired?

The other type of successful open source web service are projects started by companies and open sourced as part of the business strategy for creating community or encouraging developers to help them out. In these cases the code is often written entirely by company employees. And the hosting is done by the company as part of that same business strategy. Projects like SugarCRM and Alfresco are successful open source web services but if the companies went away (or were acquired), the projects would have a hard time living on in the open source ecosystem.

Hosting for free and open source software projects is hard.

While it’s virtually free (other than labor) to start a free software project, hosting a web service costs money, especially if it becomes popular. And consumers are used to free web services. (Web service companies often make money off of advertising (on the free version) or by charging for a supported version or a version with more features or by hoping to be acquired some day.)

So if it takes a business model right now for web hosted projects to be successful, how do free software projects transition to the web services world? How does a project start as a free and open source software project and transition to a hosted web service without becoming a company?

I don’t think it’s enough to just make the hosted version available for people to install and use on their own. I think we have to figure out a way to also host the software. If you require people to host the web services piece themselves, you are confining your market to technical people or companies with IT staff. The project might become successful but it’s unlikely to be used by the average end consumer as part of their daily life.

So how do free software projects develop and host web services? Do they use business models like advertising to be self sustaining? Do they start foundations like the GNOME Foundation that will run as a nonprofit but make enough money of the hosted version to at least cover expenses? Or will all hosted services be essentially startup companies done by free software developers hoping to create a successful company?

Can we have self sustaining web service free software projects?

How companies leave the community out of the conversation

This morning I tried to attend a webinar, The Open Source Community vs. Patent Trolls – Preserving Developer Freedom. I knew the webinar was hosting on software that wouldn't work on Linux, GoToMeeting. (Actually, who knows if it will work on Linux. The web page checks your operating system and if you are on Linux, it won't even try.) I thought I'd just dialin. No such luck, you have to dialin to the webinar (on a Windows or Mac) in order to get the code for the phone.

That means they were not targeting this webinar towards the free software community nor the developers whose freedom they are talking about. They aren't even allowing them to participate.

What are they trying to accomplish with the webinar?

I have to assume they are targeting companies whose business they want. The title of trolls and protecting developers is catchy and spreads a bit of fear which hopefully they'll address (and dispel) in the webinar. The speakers actually probably have a genuine interest in reaching out to as many people as possible.

The primary purpose of the webinar must be to educate non free software users about an existing issue.

I had (erroneously) hoped that it would be a session to start a conversation about how we could all work to preserve developer freedom and fight patent trolls. But without the community, that conversation wouldn't be complete. And the community, the developers whose freedom they are interested in preserving, are overwhelming using free operating systems like Linux, not Windows or Mac, so they were not only not invited, they were not allowed to participate. (I gave them my name and email address when I signed up, so they have my contact info, but they still required that I dial in via the web page to get the phone number.)

As a Linux user and community member, I guess I was not the target market for this webinar. And that disappoints me as I think creating connections between companies concerned about patent trolls and community members working on projects that may be affected by patent trolls would be a good start to creating a community of companies and individuals interested in solving the problem of patent trolls.

This isn't an isolated incident

While I'm using a webinar hosted on GoToMeeting as an example here, this is not the only time this has happened to me.

If companies want to work with communities, they have to try to work with the community. Most free and open source software developers don't have Windows or Mac systems. Some developers don't have one for philosophical reasons. Many don't have them because they don't need them (they are using a free software desktop!) and they don't want to spend the time and money associated with maintaining one. It is much, much easier for a company to use a more Linux friendly webinar tool (or just hand out the phone code) than it is for a free software developer to go out and buy a copy of Windows or a Mac to attend a meeting.

If you work at a large company that uses WebEx or GoToMeeting and you are holding a meeting with free software developers, why not consider using a different tool just for that meeting? You can use a simple phone conference, share slides ahead of time, you can take simultaneous notes with Gobby (a free tool that works on Windows, Linux and Mac!) … But don't send the slides out ahead of time and still hold the meeting on WebEx or GoToMeeting – that makes some of the people feel like they are left out.

The focus (with developer conversations at least) should be on the conversation not on the slides or the lead generation.

How to plan a hackfest

hackfest n. A meeting where developers gather together in person to work on a free software project.

Hackfests are one of the ways that things get done on free software projects like GNOME. They get lots of good work done, they energize teams and raise visibility of the project and its mission.

The free software community is great at getting things done in a virtual environment. Large projects can fix bugs, add new features and put out regular releases without ever meeting over the phone or in person. However, there are some things that can be done much more quickly in person, such as design discussions or future plans. For example, according to Seif Lotfy, at a recent meeting at the openSUSE conference, the Zeitgeist team accomplished in 4 hours what would have taken them several weeks to decide on mailing lists and IRC channels. A conversation around a whiteboard or even a piece of paper can clear up a lot of misunderstandings and get a lot of work done quickly.

In addition, at hackfests having everyone together for a week means that everyone is working on the project full time for the week (not just a few hours after work) and the project is energized. On average, a lot more work gets done in the weeks after the hackfest.

Hackfests are planned

If you are interested in a hackfest or think your project would benefit from one, it’s up to you to plan it. As people who have planned hackfests have pointed out me, organizing a hackfest isn’t easy. It takes time. Daniel Siegel, who has organized several hackfests, recommends you think about the following points:

  • Local. You should have local people! It’s very hard to plan a hackfest if you don’t have someone there to check out the hotel, venue and places to eat.
  • Experience. It always helps to get some help from others who have organized hackfests in the past, especially if it’s your first time.
  • Teams. You don’t have to do it all yourself. A hackfest can be coordinated by a team of people.

Steps to planning a hackfest

Here are the general steps to planning a hackfest. Some of the steps can be done at the same time, some can be done in different order.

  1. Identify a project or theme. GNOME has had productive hackfests on things from GTK+ to documentation to usability. Pick a project you care about that could use a boost of time and energy.
  2. Identify what you’d like to get done on that project during a hackfest. What’s the benefit? What are you looking to accomplish? This is key to making sure you get the right people and that you can find sponsorship.
  3. Who should be at the hackfest? Think not only the maintainers for the project but also related people. Does it make sense for someone from the usability team to attend your GNOME Shell hackfest? Someone from the accessibility team?
  4. Coordinate times. Find out if the people you are interested in invited can come and find out what dates would work for them. Some people might be able to get work time to come, but others might need to take vacation in order to attend. A good hackfest has anywhere from 4-20 people. Smaller hackfests tend to be more effective unless you can easily break your group up into productive subgroups.
  5. Identify a location. Next find a location to have your hackfest. Hackfests are usually held at universities or companies. But not always. The GTK+ hackfest was held in an apartment building that was rented out for the hackfest. People lived, ate and wrote code in the same building for the week. Often companies are willing to host a hackfest in a conference room. (Google is providing a room and food for the marketing hackfest.) Conference organizers have also provided space for hackfests during the conference. Don’t forget to think about travel – are most of your participants in Europe? Then you might want to hold it in Europe. Having your hackfest near a major airport minimizes travel time and costs and maximizes hackfest time.
  6. Pick a date. Your date will depend both on participants’ availability as well as when your location is available. The project can also play a role – we are doing a marketing hackfest in November to
    prepare for GNOME 3.0 marketing. The further in advance you pick a date, the easier it will be to coordinate travel and sponsorships.
  7. Get specific. Make sure your plans are specific. Once you’ve picked a project, goals, times, location and figured out your costs, be sure to make those plans public and make sure you are detailed about what and how you are trying to accomplish.
  8. Notify the GNOME Foundation. You will need to let the Board of Directors and the travel committee know your plans. You’ll need to let the travel committee know how much money you have for travel. They will then take travel sponsorship applications and make sure the money is used as effectively as possible. You can follow the new hackfest guidelines. Germán Póo-Caamaño from the GNOME travel committee says:
    • It helps if you can give the travel committee advance notice – it may take up to a month to process applications and let attendees know how much funding they can get.
    • Buying tickets early usually means saving money.
    • Encourage your attendees to be frugal, to search for cheap airfares and accommodation as it enables more people to receive travel assistance.
  9. Publicize. Let everyone know about your hackfest! This will help you get sponsorships and might also recruit additional participants that you may have not considered inviting. Good ways to publicize are blogs, posting on relevant mailing lists and direct mail to people you think could help out with publicity. You can also ask the GNOME press team for help. Although you are responsible for the budget, the board of directors, the press team and the marketing team can help publicize and look for sponsors.
  10. Travel. There are several parts to travel:
    • Housing. Having everyone stay in one spot not only saves money but also makes for a better hackfest as people tend to continue talking, designing and working into the evening. Good options are hostels and budget hotels. Some very successful hackfests have managed to rent furnished apartments that served not only as housing but as the place to hack during the day.
    • Food. Typically people are on their own dime for eating at GNOME events, but during a hackfest you may want to budget for pizza for a late night hacking session or coffee and donuts to get things going. Or sodas and chips to keep people happy while productively coding. Note that the GNOME Foundation only sponsors travel and accommodation costs. However, some times a company is willing to sponsor  food.
    • Providing travel assistance. Hackfests are most successful if you can help pay for the participant’s travel costs. Once you have a budget, let the travel committee know how much money you have and who you’d really like to have at the hackfest. The participants can then
      apply to the travel committee for travel assistance. If you are having them book their own hotel, that can be part of their application.
    • Getting people to the event. You should let everyone book their own travel to the event. They should pay it themselves. If they got a travel sponsorship from the GNOME Foundation, then reimbursement will happen afterwards. (Although the sponsorship amount should be agreed to before hand.)
    • Note that often companies will pay for employees to travel to hackfests or sometimes give them paid time off to attend the hackfest. Individuals should ask their company directly. You can provide a letter of invitation if necessary. (Ask the travel committee for help.)
  11. Sponsorship. Typically hackfests are sponsored by one or more companies with an interest in that project. Companies can sponsor by providing space, food, employee time, employee travel or money. Money is usually used for travel. In fiscal year 2010 the GNOME Foundation also has money budgeted for hackfests. Hopefully funds will be matched by corporate donations so we can fit in as many sponsorships as possible. Stormy and the Board of Directors can help you approach
    companies for sponsorships.

You can see a list of GNOME hackfests, past and future.

Exciting times at Grace Hopper!

I’m at the Grace Hopper Women in Computing conference this week. I’ve been looking forward to it for months. However in the past couple of weeks I’ve had so many “women in open source software” or “women in free software” conversations – some good and some very draining – that I was half way dreading coming to a conference where the whole focus would be women in computing for days. Turns out I was worried for nothing.

The energy at Grace Hopper is awesome! Everyone is excited, people go out of their way to introduce themselves when they sit next to you and everyone is talking about real and exciting challenges. And there’s plenty of people to meet – there are 1600 people here, most of them technical women! About half are students and about a quarter of the attendees are presenters too.

Last year while I was here I met the HFOSS folks and the conversation led to three interns working on GNOME projects last summer. Who knows where this year will lead? So far I’ve had interesting conversations. For example, I spoke to the woman who works at iRobot on reaching out to kids to encourage kids to get involved in robotics. (You know, the folks that make the Roomba.) Anybody do robotics programming using GNOME?

I’ve also spoken to other women about how to get more women developers on a project, how to cultivate more positive energy on a project or serve productively on a board. I’ve also had some interesting conversations about careers. One woman I talked to wondered if she should switch careers because she’s not passionate about coding and everyone keeps talking about how passionate they are about their jobs. Turns out she really likes user interfaces.

Thanks again to the Grace Hopper folks for sponsoring my travel to this event! It’s a great event celebrating and encouraging technical women. Next year I’d like to see more presence from free and open source software projects. (I am on an open source community panel this afternoon.)

There’s a very active conversation about the Grace Hopper conference on twitter.