free software

Encouraging Not-For-Profits Running Web Services to Respect Software Freedom

Published by Anonymous (not verified) on Sat, 17/06/2017 - 5:19pm in


free software

This is a generic version of an email I recently sent to a not-for-profit organisation that runs a web-based platform for community exchange. Feel free to use it as a model for encouraging other not-for-profits to use and promote free code software.



I recently received an email from [insert here the name of a not-for-profit running a gratis, web-based service] asking for a monetary donation. I really value the service, and I’ve [description of how I used the service] through your website on many occasions. However, as a point of principle, when a not-for-profit’s primary activities are software-based, I only donate to them if they respect the software freedom of the people who use their services.

There are two elements to this:

1) using only free code (or “open source”) software to provide the service

2) providing a page linked from the front page of the website, listing the various free code packages used to provide the service, including code developed by other groups, and code developed by the group providing the service.

I’ve looked around a few times, but there’s no indication of what software it uses. Adding such a page (eg as a technical FAQ) would satisfy point 2). I’m guessing that most of the software you use to run the service is free code. In order to satisfy point 1), if you have proprietary dependencies I’d be happy to help you find free code replacements for them, and if you have internally developed code that hasn’t been released as free code under a software freedom license yet, I’d be happy to help you do that.

This guide provides more detailed information about these issues:

In the meantime, keep up the good work.

Warm regards

Danyl Strype

Testing Free Code Applications for RealTime Chat

Published by Anonymous (not verified) on Sun, 04/06/2017 - 12:47pm in

I’ve been collecting information on free code chat software for a while now as part of research for the Core Us project. If anyone is keen to join an organised testing team and have a regular online chat session, using different chat systems, please get in touch. Today I’ve been looking into which chat systems might be the best options for integration with a Loomio, a web-based deliberation and decision-making platform.

My evaluations

 Etherpad: Text chat only. Collapsed until clicked. Once clicked, appears as a smallish GoogleChat-alike box in the bottom right of the screen. Can be expanded into a sidebar, or collapsed back down. Demo of Jitsi Meet/ Videobridge. No login required on the demo site, just create a “room” (eg, and anyone who enters the URL for that room automatically joins the chat. I recently used it for a one-to-one, voice-only chat. Other than a tiny bit of lag, which was only mildly disruptive, the experience was good. Supports text chat, (collapsible sidebar), voice, video, screen-sharing, text editing using an integrated Etherpad. A livestreaming output allows a 2-way chat among a small group over people to be streamed to a larger, listen-only audience (akin to Hangouts on Air), and presumably recorded for later viewing.

 MetaMaps: chat is in the form of a sidebar, collapsed until a button on the side of the screen is clicked, collapse back with a second click. Each map has its own chat ‘room’, and text comments made on a map persist in the chat box for that map between sessions. Supports voice and video, not yet tested. A bit harder to evaluate without setting it up on your own server, because they’re currently in invite-only beta.

Mumble / Murmur: Mumble clients are available for all major platforms, but the default interface is basically like IRC plus voice (no video), and may be confusing for people who aren’t used to IRC. Each Murmur server can host many rooms (rooms within rooms). If you are in the same ‘room’ as another user, you can hear each other, and it easily supports large numbers of users in the same room. Mic can be always-on, but I strongly suggest using push-to-talk, which reduces background noise, feedback, and bandwidth use. Plus, the user’s avatar visibly changes when they push-to-talk, giving some sense of who is waiting to speak. A WebRTC stack like Jitsi Meet, but only supporting the bare bones text/ voice/ video chat. The interface is much less polished than Jitsi. Would be interesting to compare the call quality between the same two people, on the same equipment and network connections. Palava also seems to be a patchwork of code in a bunch of different languages, whereas Jitsi (and Etherpad) are pure Javascript, and might be easier to integrate with a RoR application. A text chat server with multiple ‘rooms’. Basically a prettier, federated, web-based version of an IRC/ Mumble type interface,  but using the Matrix protocol. Also supports file sharing. Has annoying no-reply email notifications turned on by default, but you can unsub from the bottom of each email, and the notification control in the Settings is pretty fine-grained. Overall pretty similar to RockChat (but without the WebRTC voice/ video extensions), and I imagine pretty similar to MatterMost, as they are all basically free code Slack-a-likes.


Process of elimination

Trying to re-engineer a system expressly designed to be P2P chat seems like a fools errand, especially when those P2P tools are the various parts of Tox, an outgrowth of 4Chan with a tumultuous history, and somewhat consistent development progress. Ring is a more promising P2P chat project that recently joined the GNU Project, but it’s still in beta, and voice/ video conference calls are still bleeding edge. It doesn’t seem like there is protocol support for XMPP (plus MUC and Jingle), which may be a smoother way to handle conference calls (although maybe less secure), but adding that would be a huge engineering challenge.

Re-using code that’s designed for the web is probably simplest approach. Of the Slack-a-likes, Riot is probably the most interesting because it can federate with Matrix protocols, but as a consequence, it’s probably also the most bleeding edge. Besides which, federation is fairly low down the priority list for integration with a group-based app like Loomio (or Crabgrass, also RoR), which doesn’t currently support any kind of server federation. The ideal candidate would be a module that’s intended for adding chat features to a web application, written in languages that work in nicely with RoR.


Shortlist for possible Loomio integration

  • Etherpad is pure Javascript, and adapting the chat box modules of their code might be a way to add a collapsible, text-only chat box to Loomio. This might be a good experimental first step, as its likely to introduce fewer bugs than a chat box with voice and video too.
  • MetaMaps is a Ruby on Rails app, like Loomio, so it may be possible to add a similar chat sidebar to Loomio using the same modules MM chat depends on, or if necessary, by modularizing those parts of the MM code. This might be a good experiment #2.
  • ticks a lot of the right boxes. A self-hosted version of their stack could be set up alongside a Loomio server, with rooms sharing the same namespace and access permissions as Loomio groups and subgroups, and the same authentication layer. This would provide a full-featured live collaboration environment, including collaborative text drafting with the Etherpad integration, which is currently a missing feature resulting in a lot of Google Docs. It’s a complicated stack though, with a lot of moving parts, and some careful thought would have to be given to how to integrate the two interfaces smoothly.
  • Mumble: Building a web client for a system server designed to work with desktop clients can work (eg webmail and web-based IRC and XMPP clients), but this would be a major re-engineering job with no certainty of success, and using Mumble for a text only chat feature would certainly be overkill. A minimal web GUI that uses a Murmur server as a back-end for voice conference rooms, obscuring the fiddly business of connecting to a server and navigating through rooms, would make it much easier to use, and would most likely scale better than WebRTC. Underneath the GUI, Mumble rooms could be associated with Loomio groups, and rooms inside each rooms associated with subgroups. This could be a long term solution, but would take a lot of building.

    Computer Games are Art as in Film, Not as in Software

    Published by Anonymous (not verified) on Fri, 05/05/2017 - 2:52am in

    Over the last month, I’ve been involved in an impassioned debate on the Trisquel forums about the GOLD (Gaming on Linux Distribution) proposal to create a 100% libre GNU-Linux distribution for gamers. As well as more than 15 years as a software freedom activist, I bring to the table a lifetime of experience with artistic communities, and more than 10 years as a CreativeCommons (CC) activist here in Aotearoa (NZ). The perspective I’m coming from is that although you can’t have computer games without code, games are not fundamentally a form of software but a form of multimedia artwork. They are more like films than computer programs.

    That experience has shown me that the concerns that motivate artists of various kinds to use ARR (ALL Rights Reserved) or nonfree CC licenses are different (if overlapping in places) from the set than motivate developers to keep their code proprietary. Artists are concerned about ‘moral rights’, something that has no bearing on the software copyright/ copyleft discussion. They often falsely believe that ARR copyright always protects their moral rights (it does in some jurisdictions but not others), and that free culture licenses do not (no CC license extinguishes moral rights where they exist). Artists are concerned about derivative works that undermine or disrespect their creation, as a completely separate concern from any economic aspects of derivatives.

    These and other differences mean that the strategies that do and don’t work for getting software liberated, don’t always for getting artwork liberated, and vice versa. Incremental transition strategy in software tends to get stuck at the “open core” stage, which satisfies nobody. Whether they align with “free software”, “open source”, or the middle ground “FOSS”/”FLOSS” philosophies, free code advocates don’t want to volunteer their time to hack on the core of some company’s otherwise proprietary software, so the company doesn’t get the benefits it could expect to get if it liberated its whole codebase.

    With artwork, every incremental step liberates useful rights. Moving from ARR to the most restrictive CC license liberates the right to gratis, verbatim redistribution, which is all that’s required to make P2P file-sharing legal. Going from CC-NC-ND to NC or ND, but not both, liberates the right either to remix or to resell. So on with the step from NC or ND to a free culture license (CC-BY or CC-BY-SA). With artwork, a copyright holder is more likely to tip their toes into non-ARR licensing if they don’t have to liberate all the reserved rights at once. Although some experiment with CC and return to ARR (for reasons nobody seems to have deeply investigated), usually once they’ve become more confident with understanding and using CC licenses, they tend to move to licenses that reserve fewer rights.

    This is why, returning to games, I think there is potential benefit in dealing with the free code and free culture parts of the equation separately, with the former being the highest priority. We can’t sell games with free code and nonfree art, but that’s not our motive for GOLD, so why does that matter right now? There may be a small numbers of games in the ‘free code but NC’ category now, and there may always be, but I think it functions as an important stepping stone.

    Imagine indie game makers are looking at getting their games into a libre game system set up to make it easy for supporters to buy/ donate to game makers, buy BumbleBundle style packages etc, and all they have to do to get onto the first step of that ladder is to liberate their code, regardless of the status of their artwork (minimum condition is allowing non-commercial distribution). My theory, based on my experience with how artists think and work, is that they are more likely to go for this than to go from ARR to 100% libre in one step (although I agree that would be great). Hopefully, we’ll get a chance to test this theory.

    Futureproofing Self-Hosted CreativeCommons Music Websites

    Published by Anonymous (not verified) on Sat, 08/04/2017 - 4:38am in

    I’ve been scouring the web for music under CreativeCommons recently for the Common Sounds project, and I can’t help but notice that a lot of the independent sites out there are looking like refugees from the early 2000s.I’ve suggested that some of these folks check out GNU FM (licensed under GNU AGPLv3 or later) the software that’s used under the hood of the Libre.FM site, which is not pretty (sorry guys, but it’s not), but does provide a web media player using entirely free code. But it occurred to me after thinking about it a bit, that a tarted up instance of GNU MediaGoblin (also licensed under GNU AGPLv3 or later) might be more appropriate to their needs than GNU FM. It’s not pretty either, but it handles uploads, gallery displays, and playing of media files of all types using only free code.

    One of the problems for these folks is that these days, one does not simply… code up some HTML and CSS and FTP it onto a webserver. The bleeding edge of web development has moved a lot in the last decade or so, with HTML5 rendering browser plug-ins like Adobe Flash and Microsoft Sliverlight pretty much obsolete, mobile-friendly design influencing the style of websites (eg the ‘three vertical lines’ menu button), and a browser security arms race driven by software attack tools like the Great Cannon of China (no kidding, this is a thing) which have overwritten the concept of cyberwarfare from science fiction into reality.

    Hobby websites set up for music distribution in more innocent times - and even some professional ones - are struggling to keep up. There is a confusing plethora of free code CMS (Content Management Systems) and web frameworks, written in a dizzying variety of different kinds of languages, and a person wanting to modernize their website has to somehow figure out which set of tools is right for the type and scale of site they want to run, and learn how to use them on the fly. No pressure :)

    But I guess most of them know they will need to do some upgrade work sooner or later, to prevent their sites becomes unusable by modern browsers. For example, Mozilla Firefox and most of the other browser makers are gradually phasing out support for Adobe Flash because of its fundamentally broken security, not the mention all the spyware Adobe intentionally built-in (see my post on Adobe building the EME module for Mozilla Firefox). They have also flagged that at some point HTTPS will become basically compulsory, and a lot of the browser functions that allow things like streaming media or file downloads will not be possible from sites that don’t have an up-to-date and properly configured HTTPS certificate. The good news there is you can now get gratis (at no charge) HTTPS certificates from Let’s Encrypt. My friends who admin webservers tell me there’s a bit of a learning curve, but once you’ve grasped their automated certificate issuing system, it’s pretty much set and forget.

    I don’t want to discourage anyone in any way from self-hosting, but musicians and DJs do have a few other options for uploading music and mixes under CreativeCommons licenses. For example, you could host the audio files on a site like, and make a simple HTML/CSS homepage that links to the files on the remote host. This is the sort of thing a prettied up instance of GNU FM could be good for. You do have the option of uploading your music and mixes to a platform like SoundCloud or MixCloud, and linking to your account there from your homepage. There’s a good article on describing exactly how each of these platforms work, and laying out the pros and cons of hosting DJ mixes on each of them.

    I’m still convinced though, despite the many open source corpses littering the road towards it (eg the various zombie products of the defunct Participatory Culture Foundation), that the best way to distribute CreativeCommons music (and other larger media files like films and games) is a P2P system like BitTorrent. I can imagine artists putting magnet links to their songs or albums on their homepages, webseeds on the webserver hosting that page (or some other server), and a Commons Tracker website that provides a search hub for music fans. I like this concept because it distributes the technical and financial cost of the storage and bandwidth that makes that media file distribution happen, so people sharing the media are giving something back in exchange for free non-commercial access to new cultural work. Figuring out how to strap this together is the goal of our proposed MediaFlood project.

    Open Letter to the NZ Greens: I’m Unhappy with Greens use of NationBuilder

    Published by Anonymous (not verified) on Tue, 04/04/2017 - 5:34pm in

    Update 6/04/2017: I got a charming response from the General Manager of the Greens, Sarah Helm: 

    “The Green Party takes ethical purchasing in all areas considerations seriously. While we aren’t currently use an open source CRM, we did purposefully make this part of our selection considerations. We review our software on a regular basis - and expect to do this again after the election.”


    Tēnā koutou

    I want to let you know that I have removed myself from all the NZ Greens mailing lists I’ve been added to as a result of signing petitions organised by the Greens. I do this in protest at the Greens replacing your use of free code CiviCRM software supported by a local company, with the NationBuilder (NB) platform, which is hosted in the USA by a US-owned company, using proprietary software. Despite being asked to, NB has no intention of releasing its source code, which is ethically equivalent to a commercial food company refusing to release the ingredient lists for its products.

    Like any organisation, the Greens have a duty of care when you are holding data belonging to your members and supporters. Outsourcing the storage and processing of that data, without giving any warning or opportunity to opt-out, is an abject failure to carry out that duty of care. Particularly when it involves a dubious organisation like NB that is funded by a number of questionable Silicon Valley venture capitalists (more details on request).

    This is also a hypocritical move, considering the pubic statements regularly made by the Greens asking kiwis to “Buy NZ Made”, and support “open source” (what I call free code), and demanding information storage by governments departments and commercial companies respect people’s privacy, and the human rights encoded in Gareth Hughes’ ‘Internet Rights and Freedoms Bill‘.

    I understand that outsourcing decision-making about software and servers to another organisation makes your job easier, and I’m not opposed to this in principle. I understand that NationBuilder offers features that CiviCRM does not currently provide. But I cannot support the decision to outsource an essential part of the Greens campaign platform to an organisation that struck a deal with the US Republican party in 2012, and prides itself in being “the mercenary software that powered Trump and Brexit”, according to

    A number of open source communities have formed to address the challenges of providing a user-friendly, free code platform that allows organisations like the Greens to access a similar digital organising toolkit, without selling your soul to Silicon Valley capitalists. I encourage you to look into the work of:

    • Drutopia: based on Drupal CMS, (GPLv2 or later)
    • CommunityBuilder:  based on Joomla CMS (GNU GPLv2)
    • BackDropCMS (GPLv2 or later):  Drupal CMS fork
    • A detailed list of free software packages that can provide some or all of the functions of NationBuilder can be found on the P2P Foundation wiki.

    Many of the members of the NZ Open Source Society are experienced technologists, who have set up software for use by both non-profit and for-profit organisations, both large and small. Consulting them would be a good first step towards finding a local business that can help you evaluate the available free code software, choose the right combination of software for what the Greens need, and set it up on a server for you in a user-friendly fashion.

    Naku noa

    Danyl Strype

    A Brief History of the GNU Social Fediverse and ‘The Federation’

    Published by Anonymous (not verified) on Sun, 02/04/2017 - 7:02am in

    Update (2017-04-17): Thanks to Federation pioneer and Friendica/ Hubzilla developer Mike Macgirvin for sharing his thoughts in his unique and inimitable way, I’m planning a separate ‘brief history’ post covering his branch of the family. Thanks also to Sean Tilley of Diaspora* for answering politely each time I asked the same questions clarifying the status of federation efforts between Diaspora and the other apps (my tribal name is Memory Like Goldfish ;).

    Update (2017-04–04): Thanks to fellow GNU Social user Claes Wallin for offering some corrections and clarifications. I’ve tried to correct this piece to reflect these.


    Back in the glass age, a guy called Evan wrote some free code in PHP to run vaguely Twitter-ish site called The software was called Laconica, and then it was called StatusNet. It was able to federate with other vaguely Twitter-ish sites running the same software using the OpenMicroBlogging standard (a mash-up of existing protocols including OAuth, OAuth Discovery, YADIS, and XMPP), which was replaced by the OStatus standard (a bouquet of existing protocols including Atom, Activity Streams, PubSubHubbub, Salmon, and the delightfully named Webfinger), both of which Evan was also pretty involved in developing. A bunch of other sites/ softwares had a go at supporting OStatus (there’s a list on its Wikipedia page), hoping that one day they could all get along.

    A few years later, glass was being replaced by aluminium. Evan got bored with trying to fix a bunch of baked in architectural limitations in StatusNet (or maybe PHP itself, I’m guessing, I don’t know his reasons) and started working on a new piece of vaguely Google+-ish software called, written in Javascript. Evan announced that would be switching from StatusNet to, which it did in 2013. federates using a new protocol (which still uses Activity Streams, but with JSON and a “REST inbox API“, whatever that means).

    This is good news for potential interoperability, since a bunch of other sites and softwares are already using Activity Streams (including any that support OStatus), and Activity Streams is being standardized under a license from the Open Web Foundation by the Social Web Working Group (SocialWG) of the World Wide Web Consortium (W3C). As it happens, Evan was also involved in starting the W3C SocialWG (which took over the standards work of the OpenSocial Foundation in 2014, but let’s not get ahead of ourselves…).

    Meanwhile,  Mikael Nordfeldth was hacking away on a fork of StatusNet called Free Social (or “Free & Social”), which debuted in late 2012 on on the website he was running for the Piratpartiet. According to OpenHub, Nordfeldth set out with a plan “to make the codebase smaller, leaner, neater and more modular”. Also in the aluminium age, as GNU Social founder Matt Lee tells it in his interview with the FSF LCL (Free Software Foundation Licensing and Compliance Lab):

    “GNU social was created as a companion to my earlier project, GNU FM, which we created to build the social music platform, After only a few short months, had over 20,000 users and I realized I didn’t want to be another social media silo like MySpace or Facebook, so I came up with this vague idea called GNU social. A few prototypes were built, and eventually we started making GNU social as a series of plugins for Evan Prodromou’s StatusNet project, with some help from Ian Denhardt, Craig Andrews and Steven DuBois.”

    You could think of all this as Fediverse 0.1, the gestation that was happening as it slumbered in the world wide womb, waiting to be born.

    “Later”, continues Matt, “StatusNet, GNU social and Free Social… would merge into a single project called GNU social.”

    After this was announced in 2013, lots of people who had still been running StatusNet sites, and getting concerned about the lack of active development as Evan worked in, started migrating to the first release of GNU Social, and other folks started setting up new GNU Social servers. Some of them continued to or started to federate using OStatus. Users who had been missing StatusNet since switched to (including yours truly) started finding and joining GNU Social servers. The Fediverse 1.0 is born.

    This part of the history happened a few years ago, so I’m pretty sure I’ve got it right, but I welcome corrections in the comments. For the next part, I’m kind of winging it on the basis of what appears to have happened more recently, so apologies for any misunderstandings and again, please feel free to set me straight.

    The growing GNU Social Fediverse then sets out to try and make friends with some of the other kids in the federated social networking neighbourhood; particularly established players like, Diaspora*, Friendica (formerly Mistpark), and Hubzilla (formerly Red Matrix), but also up and coming projects like Tent, the Matrix, and the skinny jeans wearing rebels of the “>Indieweb. GNU Social is still using OStatus though, which is no longer being actively developed as a standard, and some of the other projects grumble about having to support it. Some want to use their own standards made up of a different combo of existing protocols (IndieWeb). Some want to use their own brand spanking new protocol(s) (, Tent, and the Matrix, what is the Matrix? Still working that out). Some don’t really want to federate at all because it threatens to breaks their privacy model (Hubzilla), and others had already threatened in 2012 to take their ball and go home, to work on their reinvented decentralized authentication (the Zot protocol, which ended up being used as the federation protocol for Hubzilla). To be honest, I’m still left wondering why the hell they didn’t all just use XMPP but I’m not a developer so…

    Despite all that, GNU Social does manage to make some friends, and there is talk of a grand Federation (this link lists active Diaspora*, Friendica, and Hubzilla nodes). Some success appears to be made in allowing users to communicate between some of these projects, mostly using some variant on the OStatus cluster of protocols, which seem to be the lowest common denominator. The Diaspora* protocol uses similar bunch of protocols to OStatus, but it uses them differently, including adding support for private massages. Sean Tilley of the Diaspora* crew sums up the resulting blends:

    “Friendica, Diaspora, Hubzilla all talk to each other through Diaspora. Friendica can also speak OStatus. Hubzilla and Diaspora currently cannot.”

    Meanwhile, in a parallel universe, another cluster of free code developers are also working on communication and collaboration software. Some of them create the Valueflows project to work towards a standard for them all to interoperate, and a larger federation of projects groups form the Collaborative Technology Alliance to do the same. Working on standards is complex work, but not nearly as hard as getting everyone to agree on what standard to use.

    Back in the Fediverse, a few developers get bored with trying to hack around a bunch of baked in architectural limitations in GNU Social (or maybe PHP itself, I’m guessing, I don’t know their reasons), and develop a bunch of add-ons or replacements for the GNU Social server software (formerly StatusNet, remember?), in a few different languages. Qvitter, started by Hannes in 2013, is a Javascript layer used on the Quitter sites to give a more Twitter-ish user experience. In 2016, Maiyannah Bishop forks GNU Social to start the PostActiv project, which is not GNU Social but still part of the Fediverse, and Eugen Rochko starts working on Mastodon in Ruby on Rails, which is not even a GNU Social fork but is still part of the Fediverse and uses the same GNU AGPL software license. With a cluster of different server-side packages available for those who want to set up their own node in the OStatus-powered federated network that started with StatusNet/ GNU Social, this is the point where I feel I can say the Fediverse has turned 2.0.

    So to sum up, there’s been a lot of different things under a lot of different names. Some of the things still exist and some of them don’t. Some of the things are organisations, some of them are networks or sub-networks. Some of them are websites, some of them are software, standards, or protocols. Some of the things are a smaller part of bigger things, or a collection of smaller things, and some of the things can connect to some of the other things, but not all the other things. The Fediverse / Federation aims to eventually unite all the things that still exist into one glorious meta-thing.

    Confused yet? I know I am. The branding is a spaghetti junction, as it too often the case with free code projects and their organic and messy (r)evolution. But thanks heaps to all the hard working people whose dedication, much of it unpaid, has brought us all the things. We’ll all figure it out as we go along. Long live the Federation (in the utopian Star Trek sense of the word, rather than the dystopian Blake’s 7 sense).

    Update 2017-05-03: Here’s another ‘Brief History’ of the Fediverse that fills in some gaps in mine, and comes from a different political angle.

    The Politics of Technology

    Published by Matthew Davidson on Fri, 24/02/2017 - 4:03pm in

    "Technology is anything that doesn't quite work yet." - Danny Hillis, in a frustratingly difficult to source quote. I first heard it from Douglas Adams.

    Here is, at minimum, who and what you need to know:



    • Boing Boing — A blog/zine that posts a lot about technology and society, as well as - distressingly - advertorials aimed at Bay Area hipsters.




    [I'm aware of the hypocrisy in recommending videos of talks about freedom, privacy and security that are hosted on YouTube.]



    Free software for students

    Published by Matthew Davidson on Wed, 16/11/2016 - 12:53pm in

    Pretty much all universities maintain a list of free-as-in-gratis software that they recommend students use. Very little of this is free-as-in-freedom software. There is no technical reason why most computer users should ever have to use proprietary software. Some users simply aren't aware of the drawbacks and dangers of proprietary software, while others are compelled to use proprietary software by institutions (their employer, etc.). It is vitally important that educational institutions do not compel, or even encourage, the use of non-free software, for many reasons.

    The following list was initially based on the list of software Southern Cross University recommends their students use. I've supplemented this with other software I've found useful, and removed some items that solve problems that virtually nobody has these days (such as running Adobe Flash applications). Let me know if you've any suggestions.


    Software most students will find useful.

    Audio players

    • Southern Cross University recommends iTunes, which fundamentally is spyware. However,
    • SCU also recommends VLC media player, and I would as well! According to Wikipedia, it runs on "Windows, macOS, [GNU/]Linux, BSD, Solaris, Android, iOS, Chrome OS, Windows Phone, QNX, Haiku, Syllable, Tizen, OS/2"!
    • I use Totem for playing single audio/video files, and Rhythmbox for organising my music collection. These are only available for GNU/Linux (and other Unix-like OS's).
    • gPodder is a pretty nice podcast downloader/organiser for GNU/Linux, OS X, and Windows.
    • Suggestions, please…

    File archiving/compression

    • Southern Cross University recommends 7-zip, which I've used and recommended in the past. Runs on Windows, OS X, and GNU/Linux (though I use tar and gzip from the command line, or the GNOME front end to these). I don't recommend using 7-zip's own format for any important data you want to preserve for posterity. GZIP (or TAR and GZIP for multiple-file archives) is the most cross-platform and future-proof option, IMHO.


    • Most of Java is free software, though some components are proprietary.
    • I use IcedTea, part of the GNU Classpath fully free software Java reimplementation, to run Blackboard Collaborate, and it works fine (that is to say, any problems can safely be attributed to Blackboard Collaborate). Only available for GNU/Linux.
    • Would like to hear from anybody better informed than I about fully free software Java options for other platforms…

    Office Suite

    • By virtue of its feature-completeness, LibreOffice is pretty much the only game in town. I rarely used this kind of software before attending uni, and that's where 99% of my frustration with it lies. I've not found anything I've been required to do in three years of uni that it cannot accommodate, though I suppose Microsoft Office power users would face considerable migration strain. Runs on GNU/Linux, OS X, Windows, and even has a document viewer for Android.

    PDF readers

    If I had a penny for every time I'd heard PDF referred to as "Adobe Acrobat format"…

    PDF writers/converters

    • Southern Cross University recommends CutePDF Writer, which has been found in the past to install adware/spyware. Don't touch it with a bargepole.
    • Many free software applications, such as LibreOffice and Mozilla Firefox, are able to export to PDF format without requiring additional software.
    • Suggestions, please…


    • KeePassX remembers your passwords so you don't have to. Stores them in an encrypted file. Vastly preferrable to SCU's recommended (indeed practically enforced) solution: synchronising your passwords across multiple remote services! KeePassX runs on GNU/Linux, OS X, and Windows.

    Nice to have

    More specialised or advanced software.

    Audio/video editing

    • Audacity is a multi-track audio editor for GNU/Linux, OS X, Windows. A friend and I had a podcast for a while, so I used this all the time for cleaning up audio, and mixing elaborate sound effects from samples. It's brilliant.


    • Dia is a diagram (flowcharts, etc.) creation program for GNU/Linux, OS X, Windows.
    • The GNU Image Manipulation program (GIMP) is a raster (bitmapped — photos, and so on) graphics editor for (according to Wikipedia) "[GNU/]Linux, OS X, Microsoft Windows, BSD, Solaris, AmigaOS 4". I don't do a lot of image editing, but I've depended on it for about 20 years, and have never once found myself wishing I had Adobe Photoshop.
    • Inkscape is a vector (line art, logos, diagrams, etc.) editor for GNU/Linux, OS X, Windows.
    • Dia, the GIMP, and Inkscape all export to PDF, and the latter two do a pretty good job of importing from PDF.

    Reference management

    • Bibus is a reference manager for GNU/Linux and Windows. It imports metadata in all the usual formats (Bibtex, etc.), though I've found it pretty poor in automatically generating references you can copy and paste into a list without manually tweaking. I find it principally valuable as a simple searchable database of stuff I can vaguely recall reading, but can't remember where. It has some functionality for hooking into LibreOffice and Microsoft Word, but I've not tried that. It's also unusual in that it doesn't try to hook you into using some proprietary web service, as most other reference managers do, so it wins on privacy.
    • Unpaywall is a web browser extension for Firefox and Chrome which locates legal, freely available verions of paywalled journal articles, should they exist. Helps you avoid either your institution's clunky proxy system or [*cough*] informal alternatives.

    Scientific/statistical calculator

    • Speedcrunch is an intuitive scientific calculator for GNU/Linux, OS X, Windows.
    • Qalculate! (you can tell it's fun by the exclamation mark in the name) is a plotting calculator that also has a lot more functions (including statistical functions) than Speedcrunch, though to my mind it's rather clunky to use. Runs on GNU/Linux, and a third party has contributed an OS X port.
    • For statistical functions lacking in LibreOffice, and more heavy-duty number-crunching, GNU PSPP is excellent. It's a free software replacement for SPSS for GNU/Linux, though apparently you can get it to compile and run on OS X, if you're the sort of person who doesn't find that too intimidating.

    Help wanted

    Products that I've never had a reason to find free equivalents for. Suggestions appreciated.

    Adobe AIR

    A web app development environment. Possible alternatives.


    A proprietary online survey platform. I was a web developer in a former life, so I would use (and indeed have used) my own custom-built Drupal site to conduct surveys. I realise this is not a practical option for most students. The best solution for most would probably be a third-party platform licenced under the GNU Affero General Public License.


    If you still need any of these, I'm very very sorry.

    Adobe Flash Player

    There used to be a number of free software alternatives, but as Flash is a dead technology, replaced by superior native web technologies, these projects appear to have died as well. While waiting for the corpse to be formally pronounced dead, install the HTML5 Video Everywhere plugin for your web browser of choice, and you can disable (and preferably uninstall) and forget the blasted thing.

    Adobe Shockwave Player

    Another superceded technology.

    Microsoft Silverlight

    A development/runtime platform for .NET applications. Not strictly obsolete, since .NET developers do perform the useful service of giving PHP developers somebody to look down upon.

    Microsoft Security Essentials

    An oxymoron in more ways than one.


    Ah, memories.

    A Very Brief Introduction to Free Software

    Published by Matthew Davidson on Tue, 13/11/2012 - 4:51pm in


    A lot of software is published under licenses that restrict your freedom to do what you want with it. Unfortunately, the widespread use of these restrictive licensing terms coincided with the widespread adoption of personal computers, so many people don't see the restrictions as anything unusual.


    A program can be considered free software if it is distributed under conditions which guarantee the user:

    • The freedom to run the program, for any purpose
    • The freedom to study how the program works, and adapt it to your needs
    • The freedom to redistribute copies
    • The freedom to improve the program, and release these improvements to the public

    Free as in Freedom

    In general use, the word free has two possible meanings; "free from restrictions", or "free from monetary cost". In the context of "free software", it is the first of these that applies.

    It is possible to sell free software, and it is also possible to acquire software at no cost which does not meet the above criteria for free software (such software is often called "freeware"). As a practical consequence of the four freedoms above, it is generally possible to acquire copies of free software at little or no cost, but low cost is only one of the benefits of freedom.


    "Copyleft" is a technique employed in some free software licenses to ensure continued freedom by the imposition of one restriction. If you redistribute copylefted free software or software derived from existing copylefted free software, you must do so with no additional restrictions.

    That is, you can't take copylefted free software and redistribute it under a non-free license.

    Open Source

    In 1998, a number of prominent members of the free software community began applying the term "open source" to free software, in the belief that it was a less ambiguous term which might encourage wider adoption of free software, particularly in the corporate world.

    While this has undoubtedly been the case, the term "open source" is not without it's own ambiguities. These ambiguities, along with the open source movement's emphasis on the practical benefits of collaborative software development rather than freedom, have allowed some unscrupulous companies to imply that their products are "open source" simply by making the source code of their software available in some way, even if the precise distribution terms of the software do not meet either the Free Software Definition, or the Open Source Definition.

    Because of this, and because we believe that freedom is desirable in itself, we prefer to use the term "free software".

    Further Reading