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?

41 Replies to “10 free apps I wish were open source”

  1. I agree with you. The only think I can poin to you is that some of the closed source service you listed are accessible from open source application like: tasque, evolution and gwibber.
    An alternative to dropbox is: setup a server at home/office accessible via ssh and syncing data using rsync.
    A good alternative of gmail is: setup a server at home/office with fecthmail+dovecot-imap+round cube.
    As you can see only a good connection at home/office a little work and you can get rid of many closed source services. I’m planning to setup my little home server to provide all these services via a VPN.

    I have no alternatives for social network.

  2. I’d recommend Feedly over Google Reader any time. It’s also not open source though, at least I didn’t find any hints of source code anywhere.

  3. “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?”

    That question is quite easy to answer: For all those services you need infrastructure and infrastructure is not for free.

    It’s not very difficult to create a webmail service (even though gmail has come a long way) with open source tools but you will still need to host it so you will likely only do it for you and your family.

    Same for all the other services. People don’t want to pay for internet services so you need to gain money through advertising. For advertising you need market-share. For market-share you need investment capital. Open source software usually lack both at the beginning.

    Of course it is not a problem to run open source software for an appliance when you have enough money to get started. I don’t even think gmail would lose anything if it was open source as nobody could effort the infrastructure. Anyway, it is not, maybe because they still fear someone (yahoo, apple, microsoft?) could copy their service.

    But to point out some alternatives:
    GMail: Run your own IMAP server with an up-to-date web-interface and spamassassin as filter
    Dropbox/UbuntuOne: Run a file server of some other transparent network storage
    Facebook: Avoid it! I bet your life won’t change as much as you think 😉

    I doubt there will be free sites for ticketing as this likely involves license fees with companies. I don’t even mind too much if this isn’t open source as I am not really interested in how this works.

    The question is: Can we as GNOME provide some of the lower-bandwidth services likes sharing notes/calendars and something like doodle. Maybe we can but it will make us a service provider and will definitly involve either taking money for the service (unlikely) or having advertising.

    Regards,
    Johannes

    Regards,
    Johannes

    1. GNOME is looking at providing web service hosting. We are going to start with Tomboy Online. I’m interested to talking to any other app owners that would like to try this and to anyone with ideas on how we can do it in a self sustaining way.

        1. Well for one, GNote doesn’t support the official tomboy sync api[1]. The reference implementation is snowy[2] which is the basis for Tomboy Online, and of which I am one of the maintainers.

          If GNote wants to support note synchronization awesome! But we’ve not heard a peep of interest from them about it. Please keep your bigoted views about how awful mono is to yourself. Not everyone agrees.

          [1] http://live.gnome.org/Tomboy/Synchronization/REST/1.0
          [2] http://live.gnome.org/Snowy

  4. Some of the backend code for facebook is proprietary but a lot of it in fact most of it is either built on open source tech or has been released under open source licences. I cant remember the link but all of the SQL backend is hosted on lanchpad somewhere.

  5. There used to be an open source competitor to Facebook called Mugshot, which was developed by RedHat.
    Development has stopped, and the site no longer exists, but there is a fork called Magnetism.
    http://code.google.com/p/magnetism/

    I’ve never seen it in use, and I haven’t looked at the code, but it would probably be a decent base if anyone was starting a new project.

  6. “”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?””

    We do. It’s called ‘Webdav’.

    Setup a HTTPS Webdav server at home and mount it via GVFS.

    Do that on all your machines and drag-n-drop files into it.

    If it was not for the bug were unless you have a “http://example.com/webdav-dir/” avialable GVFS will refuse to acknowledge ‘https://example.com/webdav-dir/’ as a valid webdav share.

    In other words.. unless you have a non-encrypted web directory that is named the same as the encrypted webdav share then GVFS will refuse to accept it. It does not have to the same directory or webdav-enabled or anything like that. It’ll work fine with any other Webdav client, of course. Cadaver, fusedav, etc.

    Crimps my style because my ISP blocks port 80, but leaves port 443 open.

    It’s still usable though as long as I use fusedav or whatever and is able to transparently transverse web proxies, firewalls, and everything else.

    With TLS it’s even possible to have it fairly secure!

    Webdav is already used by everybody and their mom. Stuff like Caldav and my phone supports it and whatnot for syncing files.

    Pretty magical.

    It would be nice if Gnome integrated support for DAV-based syncing between multiple Gnome instances. Like when you log in it’ll check for updated configs and whatnot and when you log out it’ll update and transfer over files or whatever.

    I would not want to implement a full blown Apache server for every machine, of course. But a small special purpose python or vala webdav service for syncing would be total kick-ass.

    1. We need options for the non technical, I-don’t-have-a-server-at-home-option people. I can do this but it’s unreasonable to expect most people to do this. So most people will use the non open source, free alternatives and then more people will migrate to those because one of the values of web services is sharing with your network.

      1. “”” We need options for the non technical, I-don¿t-have-a-server-at-home-option people. “””

        Yeah..

        I suppose a solution is not here yet, but it’s 70-80% here.

        The problem with a ‘Open Source Dropbox’ is that who is going to maintain a content delivery service to manage something like that?

        Individuals? Gnome? Some anonymous corporation?

        Who would be interested in running or maintaining such a service online?

        If you want to have a similar thing it’s going to have be something that is P2P and can be ran cheaply and easily by individuals and small/medium businesses.

        Example:

        See how Rygel works. Rygel is a uPNP/DLNA service that integrates into Gnome.

        It’s job is to setup uPNP streaming media services for local area networks. It is written in Vala, uses the gupnp libraries and can use Tracker for the back-end for media file discovery.

        Tracker crawls the home directory, finds the media files, Rygel advertises them and streams them over the network.

        Everything is automatic, auto discoverable, and uses standards (even though upnp is a mess) so that client support is wide ranging. Windows media player should support it, PS3/Xbox should support it, Totem + uPNP plugin works well with it, there are various “media extenders” that should support it.

        (unfortunately upnp/dlna is a mess, so client/server support is spotty, but that will come as the project matures)

        Basically it turns any system running a Gnome desktop into a multimedia streaming system that grandma can use.

        How Gnome dropbox _alternative_ could work:

        User activates ‘Sync’ service. This launches a relatively self-contained Pythin Webdav service.

        By default the sync service offers services to various applications that can use it, like caldav or stuff that syncronizes with phones and media devices. Also it will try to sync any file that gets dropped into ~/Sync. Ties into inotify so that it can keep track of user’s usage and avoid conflicts.

        The system advertises the fact that it has a sync service over Avahi.

        Actual communication happens over HTTPS protected by automatically generated self-signed cert or something like that can be handled by Gnome-Keyring/Seahorse. Password access is handled by HTTP-Digest.

        Other Gnome sync-enabled Desktops hear the advertisement and a user on those machines can apply to be a sync partner with the advertising Gnome desktop. If they supply the correct shared secret/password then they will setup the ability to authenticate one another.

        And since your using Webdav as a standard a user that happens to be on a Non-Gnome desktop can still access all the files and information being shared out. For example all the files in the ~/Sync directory would be available for Windows users via Webfolders. They can just supply the correct password and ‘mount’ it.

        KDE has support for this sort of stuff, so does OS X.

        For over-the-internet sync/sharing services then things are a bit more
        complicated, but it’s not terribly different. Instead of using Avahi,
        previously ‘joined’ machines can communicate with each other using XMMP-based
        back-end. Chat with each other to keep track of locations, system/user state,
        and negotiate connections. The XMMP service would be the only thing that cannot
        be pure peer-to-peer.

        Then the most ideal way would be the ‘home system’ to be the ‘server’ or ‘master peer’. When the internet portion of the sync service is activated (should be turned off by default), then the machine will send a uPNP request to the SOHO-type router people typically use that requests a port to be forwarded. Most modern routers support this sort of thing and if it cannot work then the software would advice the user to do it manually for best results.

        But there are lots of other ways to get around NAT firewalls. See also bittorrent clients like Gnome’s Transmission and things like Skype.

        And you can implement intelligence in the python/vala Webdav-based sync service. Webdav does not have to be a 1:1 relationship with files and data… you could do like Rygel does and integrate into Tracker for building simple HTML5-based transcoding media streamers, photo albums, and other type things. Even implement revision control-based backend or something like that.

        Tie it into Gnome 3’s time/task-based fancy poopers or whatever.

        You could implement a number of services that are able to use it. Such as Gconf/Dconf remote edit/sync support, for example. There is a lot of precedent for this sort of thing… Microsoft uses DAV heavily for their web-based Outlook client, for example.

    2. WebDAV requires a network connection in order to access to files, Dropbox holds the files on your computer and synchronizes them when network is available, so it’s not so easy to get an equivalent, you’d still need to take care of figuring out the syncing. Anyway, I guess it wouldn’t be particularly difficult to achieve, but what’s really missing is a “apt-get and forget” solution, letting you setup everything easily and with a graphical interface.

      On the need for infrastructure, I disagree that this is a problem in the case of developing a Dropbox replacement. Personally I’d love to see some decentralized approach where my computers would all sync between them whenever they can find each other.

  7. @Nate – nope, sharing a folder via WebDAV isn’t the same thing. Dropbox isn’t simply a remotely accessible folder – it’s a local folder kept synchronised with a remote server. Emphasis on *local* – the content remains available even if the server isn’t.

  8. Are you sure facebook and gmail aren’t open source?

    Take facebook for example:
    http://developers.facebook.com/opensource.php

    Facebook has an open licensed platform snapshot of their infrastructure with a network services distribution clause similar to how the AGPL works.

    Even if every single line of code that facebook used that wasn’t in their open framework download was licensed under OSI approved licensing, how could you tell? It could all be BSD licensed right now for all we know.

    Can you articulate what’s the benefit to someone like Facebook to move to AGPL completely for everything they do? They already use and contribute to a wide number of individual open source projects that are used in the plumbing of their service. They already have the development cost and operational cost advantages associated with consuming and contributing to open source projects..what’s the payback for them to give users the ability to fully and easily replicate their service?

    So why haven’t end-users taken it on themselves to replicate web services even when something like Facebook’s open platform is available for them to start with? What’s the benefit to you as a user trying to run your own web service that mimics Facebook or gmail? Do you personally have the infrastructure to keep that sort of thing afloat for yourself and others? And if you are going to be running a reliable service meant to scale to millions of users you aren’t going to be doing that on your own without significant financial cost to yourself. You either need to distribute the resource burn among many users who volunteer resources to keep the service scalable or you need to provide a centralized service with a business model that brings in enough revenue to pay for hosting. Have a business plan in your back pocket for your competitive Facebook or Gmail alternative?

    A go it alone approach to scratch your own development itch really doesn’t sustain a web service which must be up and operational 24×7. Unlike client software that you can pick up(and put down), use and modify for your own purposes, hosting a web service is an implicit commitment to keep it operational for other people. Something like a scalable web service needs an organization and a plan to keep it up and operating.

    Now I can imagine non-profit organizations, like the GNOME Foundation, getting organized to start providing exactly that sort of organization and open web services based on the common interests of its membership (for a membership fee). Sort of how my curling club charges me a fee to use the ice. Maintaining the building (and the bar!) is a service provided by those membership dues. A lot of things are done with volunteer labor, but at the end of the day it cost money to run the curling club and members pay for heating fuel and electricity and equipment maintenance. And none of us at the club would be willing to pay that out of pocket ourselves. Similarly it costs money to run a web service, and rarely will you find an end user willing to pay out of pocket to keep it going on their own.

    I will note that “open source” as defined by OSI does not map over to what you are talking about. None of the standard legal mechanisms for requiring code access under the open source definition are activated by network communication. The AGPL is of course an OSI blessed license under the open source definition…but the fact that the AGPL compels service operators to redistribute service source code to end-users goes well beyond the minimum requirement of what it means to be open source.

    These services running on hardware you don’t control using established documented APIs to communicate with. Nothing we do as a users of that service can be considered linking or distributing so even if Facebook were entirely GPL code we’d have pretty much no way of legally demanding they provide the code to us under the terms of the GPL, which again goes above and beyond the strict requirements of the open source definition.

    We need new terminology for web services that make source code available to users under the tenants of The Franklin Street Statement to replicate alternative server instances. “Open Source” as defined right now is simply not appropriate as its meaning as is already defined as something less restrictive. Using it the way you have here only serves to confuse matters.

    -jef

  9. @Stormy – seems to me that a lot off the sites you name aren’t *quite* right for an open model.

    An Open version of Facebook shouldn’t just be the same as Facebook but with the code available. Either you’d still have just one instance, in which case source code makes little difference. Or you’d have hundreds of unconnected instances when people start running their own – which would be essentially useless.

    No, what’s missing is the interconnection. Ultimately, Facebook is a mechanism for publishing content (news, links, photos, videos, etc) to people you’ve authorised to see it, for notifying those people of it’s availability, and for viewing similar content published by others. For source to be of much value, it needs to be possible for an account on one instance to publish content, and have it accessible to authorised accounts on other instances.

    To me, that’s the bit that would make it useful to have source code for services like those. Not for the ability to run my own instance – but for the ability for multiple instances to talk to each other. Much like protocols like NNTP or SMTP do today.

  10. Not to mention Dropbox does block synchronization not full file transfers, will sync over LAN if available and WAN if not, and has version control….

    WebDAV or rsync + file server doesn’t cut it!

  11. You can mostly do gmail, remember the milk and google calendar with any groupware system which has CalDAV support and a webmail frontend, like Zimbra or eGroupware. Infrastructure group is dipping toes into these waters, with the ongoing plan to set up a Fedora project calendaring system. Right now it looks like we’re going with Zarafa for that…

  12. A couple of things occur to me. One is that open-source versions of these types of services could be peer-to-peer, not dependent on expensive server infrastructure. All data should be encrypted.

    As far as there being open-source webmail packages available, that is true, but none I have seen emulate or beat the labels based workflow that Gmail has. They are all stuck on a Eudora/Outlook folder type of interface.

  13. Another open source alternative to Facebook is the Buddypress plug-in for WordPress.

    I can’t say I’ve had success with it, for some reason it has not installed well on my wordpress blog, but there is work happening there, so who knows it may be usable soon.

  14. Here’s some of my thoughts on the matter for services and software that I use.

    1. Gmail. For me, it is not the interface that gets me to use it. It is the fact that the spam filter is great, I can imap to it fairly effectively and they host the services so I don’t have to deal with the server issues.

    8. Google Calendar. Again, it is the hosting and maintenance free (for me) servers.

    9. Google Reader. For me I set up a tt-rss.org instance. Works in a very similar manner to Google Reader.

    10. For the Dropbox option you have owncloud.org(a new project) and iFolder which is now apparently kablink. I recall installing early versions of iFolder for customers to great excitement but like many great Novell products it just kinda withered away.

    I would love a bookmark backup/sharing site for personal use but I have not found a better option than putting them in my dropbox folder.

    For the rest of the sites I’m not sure what great benefit having an open version of the software would be. The benefit to them is the content itself. Yes, some of the sites like Facebook would be nice to have some federation where I can set up my own FB site for me and control it, but I still need FB for the interconnectivity with other people.

    Stormy, in one of your replies you said that the solution has to be for the “non technical, I-don’t-have-a-server-at-home-option people”. Yet all the services you mention in the list necessarily need a server to work in any efficient way. Yes, they can be made easy apps to ‘yum install’ or ‘apt-get install’ and have it set up the software for them, but it is still a server at the end of the day. Most people are going to go to whoever has the free or best bang for the buck hosting services.

  15. I highly recommend Getting Things GNOME (GTG) as an alternative to Remember The Milk. It’s not a web-based application, but it’s a very good desktop todo list. GTG syncing could be implemented, much like what Tomboy does with Snowy.

  16. gmail and facebook practically run my life. I’m constantly frustrated with facebook’s software, like no sane default contact groups, no video conferencing, file sharing, no local machine profile backup, no openID login, no POP or IMAP message access, no one-click Google Calendar events import. We DESPERATELY NEED an open source Facebook.

    As for Google, matter of time, they’re awesome like that.

  17. “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?”

    Because Facebook and such aren’t about the software, they’re about the service. Facebook could literally disappear and be replaced with a competitor (just as Facebook more or less replaced Myspace) and it wouldn’t have a deep impact.

    “GNOME is looking at providing web service hosting.”

    HAH. If you took all the cash the GNOME Foundation has ever received ever, it would be less than 1/10th of the WEEKLY hardware operations cost of Facebook. You have no freaking idea what it takes to run a service of that scale, how many thousands of machines in a numerous large datacenters with extreme bandwidth capabilities. And once you get beyond just the hardware and connectivity, you’re still dealing with teams of around-the-clock highly-paid sysadmins across numerous datacenters.

    GNOME offering web service hosting is stupid. Really stupid. Most web service developers — actually having some bit of background in such things — are going to realize this and never even think of using GNOME’s infrastructure since nobody wants to host on a platform that will die. Even if it’s Open, moving is expensive, and the new platform — even if Open — could still potentially be vastly incompatible. GNOME doesn’t have the resources, expertise, or even a sane motivation for getting involved in that space.

    Services aren’t magically better for being Open. They aren’t even cheaper to developer or maintain. It’s really not part of the equation. If GNOME wants to be an online service (which it shouldn’t be), it needs to actually compete on some quality that has measurable value to those using or developing the actual real services on that platform. It’s not about language, or technology, or license, either. None of that matters.

    1. Software isn’t magically better for being open but it is better. I would rather use a desktop that is open source because it’s open and because of all the people working to make it better. Same with services.

  18. For a face-book alternative you could look at elgg.org .. i thing it is a great alternative and is open source

  19. “GNOME is looking at providing web service hosting”
    This is great news!. I would like to make a few suggestions.( What I would like to see);

    I hope gnome devs would think about the privacy and security of users data when they are developing this. Basically the Encryption and Decryption of data should done at the client side.

    Assuming the Gnome solution going to be Free (as in GNU) Software, this would enable users with their own servers (even a cheap untrusted VPS) to host the web service and have a secure backup on the cloud, that they can use to sync their systems from anywhere.

    It would also be great if the back-end supports the Ubuntu One client (client is GPL), so all the users who already use that service can switch to the Gnome service or their own hosted instance.

    Extra info, 🙂
    “Ubuntu to store copies of all users’ address books”
    http://lwn.net/Articles/357026/

    What I currently use duplicity (with some shell scripts).
    http://duplicity.nongnu.org/

    1. on the subject of facebook, Most of the time it’s not the software, it’s the community that makes it what it is. If you really want to use it, get a good understanding on the privacy implications and go over all the setting that they provide (the only type of control you will have with a service like Facebook).

      With these kind of services, it doesn’t matter if you have the source code or not (but it would be nice to see what’s going on under the hood), what matters is who’s hosting the service, what their policies are (good or evil :-)) and what kind of data you are sharing using that service.

  20. To state the blindingly obvious, these are services and are not apps. It would not make the slightest difference to open-source them because the essential component is access to a commercial server.

  21. Hi Stormy,

    Some discussions I was having led back to this old post of yours. I think it’s useful to distinguish between services and software here. In another conversation, RMS noted (correctly) that “you can’t install a copy of gmail on your own machine, even though in principle you could run the same software that runs gmail if it were published. Gmail is not free software, or open source software, because it is not software.”

    It’s certainly an excellent goal to work towards freedom, both as software users, and as people in an online world; but using SaaS, even AGPL SaaS, seems to work against that freedom. I wrote more on that topic here: Towards a GNU Autonomous Cloud.

    Anyway, hope you are well. Happy hacking 🙂

    Andy

    1. I think we need to make sure that our technology solutions support our freedom whether we can host them ourselves or not. I also don’t compile my own operating system but it’s important to me that it’s open source. Just because I don’t plan to host my own email service doesn’t mean it should also be open …

Comments are closed.