Fedora 19, codenamed Schrödinger's Cat, follows the much-delayed Fedora 18 and the good news is things looks to be back on track. Not only is the release just a week away but it also sees Fedora returning to its core focus: building useful software for developers.
The Ubuntu Linux distro may be busy tricking out its new touch-based interfaces and getting ready for the first Ubuntu-based phones and tablets to arrive, but the project has had precious little to offer the still-dominant desktop and laptop users of late, particularly developers.
Not so with Fedora. Sure, the GNOME project is pursuing its own tablet and mobile dreams - though thus far no one seems interested - but underneath the GNOME trappings Fedora has a couple of great new pieces of software designed to make developers' lives easier.
Perhaps the most intriguing of these is the new "Developer's Assistant", which aims to make setting up your development toolchain a bit simpler. The idea behind Developer's Assistant is to make it easy for new Linux developers, as well as seasoned developers new to Fedora, to get up and running with all the tools they need quickly.
You'll need to install Developer's Assistant yourself from the Fedora repos and unfortunately there's not much in the way of documentation at the moment. I would suggest reading through the devassistant man page to get an idea of how it works. Once you've got your head wrapped around the syntax, you can create entire working environments with a single line in the shell.
Developer's Assistant welcomes Linux devs of all shades of experience
There are setups available for pretty much every language and most major projects within languages – for example, Django for Python devs and Rails for Ruby devs. There are even some setups for Vim, Eclipse and Git. To use the latter you'll need to have a GitHub account, but provided you've got your GitHub login info handy, Developer's Assistant makes sharing your code on the web dead simple.
Using the Developer's Assistant is just a matter of invoking the devassistant tool. For example,
devassistant python django -n ~/newproject will give you a fully loaded, working Django project with what devassistant's developers call "sane defaults".
Of course, those defaults may not exactly match the way you're used to working. Developer's Assistant can't be all things to all developers, so it tends to stick close to the best practices for each project and language. To stick with the Django example, what you get from Developer's Assistant is very close to how the Django documentation suggests setting up your projects.
Chances are seasoned developers have workflows and environments that are idiosyncratic enough that a tool like devassistant won't produce ideal results, but for new developers looking to set up a workable environment quickly, devassistant is a nice touch.
Float your own cloud
The other big developer news in Fedora 19 is OpenShift Origin, a new set of tools to build your own Platform-as-a-Service like Red Hat's OpenShift.
OpenShift is a hosted service designed to allow developers to quickly build and run cloud-based applications without worrying about server management or virtualisation details. Think of OpenShift as RedHat's answer to Microsoft's Azure or a more closely managed version of Amazon's web services. OpenShift Origin is the open-source, community-supported version of OpenShift - essentially the Fedora to OpenShift's Red Hat.
Other new toys for developers in Fedora 19 include the latest version of OpenStack, named Grizzly, which boasts some 230 new features. You'll also find up-to-date versions of Python, Ruby and hosts of other languages. PHP is up to 5.5, the recently released Ruby 2.0 is included, along with the latest hotness, Node.js.
Fedora 19 brings integration with Google Drive and other "social" services
As it happens, when Fedora says developers, it doesn't necessarily just mean software developers. This release also has some new toys for the more hands-on devs, with a variety of tools for 3D printing available in the updated Fedora repos. You'll find software for creating 3D models, including everything you need to generate your plans and then send the code to a 3D printer. The 3D software includes tools like OpenSCAD, Skeinforge, SFACT, Printrun, and RepetierHost.
Fedora 19 has quite a bit of cool new stuff for developers, but that doesn't mean everything is perfect. Sysadmins will have to contend with the much-maligned SystemD, which is improving, but still not necessarily as capable as those init scripts that have been culled and honed to perfection over the years.
Fedora 19 has a couple of new SystemD features included to tempt you, though, such as Calendar Timers (for natural language timers, like "every Monday morning 6:00 am") and SystemD Resource Control, which allows you to modify service settings on the fly, without a reboot.
Then, of course, there is GNOME 3.8 to contend with. The default Fedora install CD still installs the GNOME Shell, though there is now, helpfully, a series of animated tutorials to help you get a handle on the counter-intuitive interface that is GNOME 3. This update brings some new "social" features to GNOME, including integration with popular cloud file hosting services like Google Drive or the self-hosted ownCloud.
There's also classic mode, which turns GNOME 3 back into something a bit saner and more like good old GNOME 2. Unfortunately it's pretty obvious the GNOME developers don't care much about classic mode; it's slow, buggy and only begrudgingly even made available. You're probably better off with Mate.
If you prefer not to use GNOME 3, there are plenty of other "spins", as Fedora calls its alternate desktop packages. Fedora 19 is available with the likes of KDE, LXDE, Xfce, MATE and even Sugar (the desktop developed for the OLPC project). And if you grab the DVD you can also get the latest version of the new Cinnamon desktop from the developers behind Mint Linux.
A nice return to form by the Fedora project. ®