Recently I read a blog post by another open source advocate that touched on a subject I know all too well. As a writer of fiction in today’s market, it should go without saying that if people don’t know about your work, said work will go nowhere. With the exponential growth of people calling themselves writers, the world of fiction has become a massive slush pile where even the greatest wordsmiths can get buried under a mountain of “meh”.
This analogy holds true for those that write open source software. The only difference is the platforms for which they spread word about their work are even more limited than those of writers (we have the great and powerful Amazon on “our side”, after all).
Let’s take a look at those that create software for Ubuntu. They really only have one tool for getting the word out at their disposal…the Ubuntu Software Center (USC). When you fire up that particular tool, you are greeted with an interface that does very little to aid the user in the task of discovering new software (Figure A).
Ubuntu Software Center with recommendations turned on.
Remember, the USC is the centralized location where users can find and install applications. That’s all fine and good if the user knows what they are looking for. If you’re unsure what you need, or you just want to browse through the collection, you’re going to have a hard time finding anything useful. Add to that lack of focus, the incredible amount of included software that is no longer maintained and you’ll have a hard time finding what you really need or want. With that in mind, a developer could have created the perfect piece of software only to have it fall into obscurity, thanks to a poorly designed tool, with little to no vetting of included titles, and zero promotional efforts.
And the competition isn’t much better. And before anyone says “apt-get”, “zypper”, or “rpm”…those are, in no way, an aid for developers getting word out for their software.
With all of this being said, what needs to happen? Certainly a tool like the Ubuntu Software Center could work…right? Consider how well the Google Play Store and Apple’s App Store have succeed for those platforms. What’s the big difference? Setting aside the massive user base, you have two centralized locations for all devices to use for the installation of software (with an added bonus of serious promotional efforts wrapped into the tools). Think about it…for every Android device on the market (barring those that opt out of Google Services), you have a user working with the Google Play Store. Considering how many Android users there are on the planet, that’s impressive.
Now…consider the Linux landscape. How many routes to getting software onto a desktop, laptop, or server are there? The answer? Too many. Next question. How many developers out there create outstanding software and then only release their work to one distribution? Again…too many. And I get it…what with all the variations on the Linux landscape, it makes it nearly impossible for a developer to develop across all platforms.
So what is the solution? They are many.
First off, like every writer of fiction on the planet, every open source developer needs to become a marketing genius. You need to return to college, get your MA in marketing, return to development, and then spread the word with your newfound knowledge of how promotion works.
That’s not going to happen.
But the gist of it is necessary. You have to get word out of your wares. If you don’t talk about them, no one will know about them. And consider this…if you have created that “killer app”, you could not only drive people to using your software, but drive people to using Linux. That’s a major win-win for all involved.
Next up is the state of package management in Linux. As much as I hate to say this (and as much as I know everyone is going to shout to the heavens I’m crazy) Linux needs a massive overhaul when it comes to package management front ends. Instead of every distribution attempting to reinvent a wheel that’s been worked and reworked over and over, they simply need to come together and create a unified front for all distributions. That doesn’t mean every flavor of Linux should migrate to .deb or .rpms. What it means is there needs to be a unified front end for the management of software. This would not only help the end users, it could then do a much better job of helping to promote the work of developers.
And let’s discuss what Ubuntu has done (in the background) to the Ubuntu Software Center. In August it was discovered that Canonical discontinued the paid app store without informing developers. How in the name of COBOL does that help the cause? It doesn’t, that’s how. In fact, it does more harm than good. Why? Because if a developer wants to actually make a bit of money from their work (and why wouldn’t they), they no longer have an easy means to do that on the Linux platform.
The Linux community as a whole could create a group charged with developing and maintaining this front end and part of their job would be to the promotion of new work. Rotate new titles out on the main page of the tool and include a new and updated section. Have a prominent paid section with a standardized system for developers to submit work. On top of that, weed out the titles that are no longer maintained. It does no good to tout “We have 1 Million titles in our app store” when a good percent of said titles are dead.
The old model no longer works. Open source developers can’t just create their work, upload it to Sourceforge (shudder) or use Git and expect the masses to know about their “killer app”. Developers need to help spread the word (social media is a great way to do this, hint hint) and there needs to be a well designed/managed unified, centralized app store that can be shared across all distributions. If Linux developers are serious about getting their apps on the desktops and laptops of users, something like this is going to have to happen. Otherwise, they’ll continue playing this great game of hide and seek with end users.
Personally, this whole business weighs on my heart and mind. There are software titles I use daily and I cannot understand their lack of widespread usage. Open source developers work tirelessly on their craft and, in the end, get little in return. It’s time something is done about that.
What’s the solution?