May 31, 2016

6 Big Reasons to Upgrade to Ubuntu 16.04

The latest Ubuntu long-term support release arrived last month. Xenial Xerus, as it’s called, will receive security updates and bug fixes for the next five years. This makes it the ideal version for people who value a stable, predictable system.
Ubuntu’s desktop experience hasn’t changed all that much since the last LTS, version 14.04. But there are several key changes worth getting excited about for desktop and server users alike. Whether you’re upgrading for the first time in two years or moving up from 15.10, let’s have a look.

1. Dash No Longer Includes Amazon Searches

Since 12.10, Ubuntu has displayed Amazon results among other items in the Unity Dash. This meant that Unity sent all user searches to remote servers by default. This brought up privacy concerns, with Richard Stallman calling Ubuntu spyware. The Electronic Frontier Foundation also weighed in. Unsurprisingly, Ubuntu’s Mark Shuttleworth didn’t see things the same way.
UbuntuLTS-Amazon-Remove-Dash
Users can disable this functionality, something we have suggested as a way tomake Ubuntu feel like home.
But in 16.04, Amazon searches are no longer enabled by default. When you fire up a new installation, your searches are now no one’s business but your own.
People who want Amazon recommendations can re-enable them at System Settings > Security & Privacy > Search.
UbuntuLTS-Amazon-Enable
This is the way many people felt Canonical should have implemented the feature all along. Changing things could be taken as a concession, but it also frees the company up to focus more energy on Unity 8. That next version of Ubuntu’s user interface is set to make an appearance in Ubuntu 16.10.

2. Bye-Bye Ubuntu Software Center

UbuntuLTS-GNOME-Software
Canonical developed its own centralized app store in 2009. The Ubuntu Software Center hasn’t changed much since then. Well, not in a positive way. It has grown slower over time, frustrating many users.
Now the Ubuntu Software Center is gone. In its place we have GNOME Software. This package manager comes straight from the GNOME project, freeing Canonical to focus on other work.
For technical background, the Ubuntu Software Center was a front-end to APT/dpkg. GNOME Software uses PackageKit, which itself is a front-end to whichever package management system a distro uses. That’s why you also see it on RPM-based systems, like Fedora.

3. Always Show Application Menus

UbuntuLTS-Global-Menu
Some might say Unity’s interface feels Mac-inspired. But while both desktop environments use global menus, Ubuntu’s only appear when you hover your mouse over the top panel. With 16.04, that changes. If you want your menus to be always visible, you can have it that way. The option is now available in System Settings.
For several releases, Ubuntu has provided the option to place menus in the titlebar instead. This change affects that as well. Leaving the menu visible in each application’s windows is a cool way to combine old-school functionality with a modern look.
UbuntuLTS-Always-Display-App-Menus
Always showing the application menu isn’t merely an aesthetic change. Under Ubuntu’s default settings, first-time users may not know where options are located or that they even exist. Enabling this feature removes that discoverability issue.

4. Move Launcher to the Bottom

UbuntuLTS-Dock-Bottom
On today’s widescreen monitors, it makes logical sense to put the dock of the side of the screen. You have more horizontal than vertical pixels to work with.
But logic isn’t everything. Try as I might, I often find panels or docks anchored to the side to be off-putting. It’s nice having the option to move them around.
In Ubuntu 16.04, Unity finally gives you a choice. Kind of. You don’t need to install anything to make the magic happen, but you won’t find an option in System Settings. Instead, open a terminal and type:
gsettings set com.canonical.Unity.Launcher launcher-position Bottom
If you decide that maybe the side suited you better, don’t fret. You can return the dock to its old position with a slightly different command.
gsettings set com.canonical.Unity.Launcher launcher-position Left
You don’t have to use the terminal. An alternate approach would be installing the Unity Tweak Tool.

5. Feeling Snappy?

UbuntuLTS-Snapcraft
Snap packages are Canonical’s new way of distributing apps. They take a different approach than what we’re accustomed to on Linux desktops. Snaps contain binaries and dependencies.
Why? This helps guarantee that apps which work now will continue to work in several years. A developer knows that if the package they distribute contains everything needed to run, it’s easier to keep software in good shape.
Snaps run in isolation from the rest of your desktop. This model is like what we see on mobile devices, where apps have to request permission to perform specific types of activities.
These are early days for Snaps, and some kinks need to be worked out. Nonetheless, there are plenty of reasons to be excited about this change.

6. ZFS

Ubuntu 16.04 is the first major distribution to ship with ZFS. Canonical describes it as the combination of a volume manager and a filesystem. Like BTRFS, ZFS offers improvements geared towards servers and enterprise use.
Both filesystems are copy-on-write, allowing you to efficiently create snapshots of your machine. They also manage multiple physical storage devices better than previous options.
ZFS is more mature than BTRFS and already common in production environments. The issue is that ZFS is licensed under the CDDL v1, which may not be compatible with the GPL v2 (used by the Linux kernel). This may ultimately be for courts to decide. Either way, the conflict concerns distribution of code — using it won’t land you in any trouble.

Elsewhere in Ubuntu-Land


16.04 is the first LTS release to launch with Ubuntu MATE as an official spin (Ubuntu Mate 14.04 was retroactively released after 14.10). This allows people who prefer GNOME 2 to keep running that desktop environment for many years to come.
As for other desktops, Ubuntu GNOME comes with GNOME 3.18, Kubuntu uses KDE Plasma 5.5, Xubuntu runs XFCE 4.12, and Lubuntu has LXDE 0.10.

Is Ubuntu 16.04 Right for You?

Ubuntu 16.04 may be an LTS, but this need not be a long-term relationship. In six months, you can make the leap to 16.10 and leave the LTS behind.
For others, Ubuntu 16.04 is ready to go for the next half decade (as some of you running 12.04 already know).
Do you stick with Ubuntu LTS releases? What other parts of 16.04 have you excited to upgrade? If you’ve already been running this release for the past month, what do you think?

Source: http://www.makeuseof.com/tag/6-big-reasons-upgrade-ubuntu-16-04/

May 20, 2016

7 Apps That Prove You Don’t Need Adobe Creative Suite on Linux


People have been asking Adobe to make Creative Suite available on Linux for several years now, but Adobe has been adamant about its answer: no. Why not? Most likely because the market share is too small to be worth the effort.
But the demographic is there. The overlap between “Linux users” and “creative users” is larger than many of us would expect, and many of them have been dying for a Linux Creative Suite for years.
The good news is that now, in 2016, viable options do exist.
Between all of the Adobe Creative products currently available, most of them have usable Linux alternatives. And while you won’t be able to use the Creative Cloud mobile apps with them, they’re still worth checking.

For Photoshop: GIMP or Krita

“Photoshop alternatives for Linux” is unsurprisingly one of the most common search queries among first-time Linux users. And while GIMP was the go-to answer for many years, that’s kind of changing now.


linux-creative-suite-gimp


Not that there’s anything wrong with GIMP. In fact, as far as needing a “Photoshop clone” on Linux, there’s nothing better. GIMP is powerful and feature-rich straight out of the box, and can be improved with third-party plugins.
So yes, even though GIMP has its flaws — such as the fact that it isn’t as intuitive or polished — it’s definitely the closest thing to Photoshop right now.


linux-creative-suite-krita


But there’s another program out there that’s been turning heads over the past few years. It’s called Krita and users are slowly abandoning GIMP and flocking over to it instead.
Krita is primarily a tool for digital painters and artists, so it’s only a good alternative to Photoshop if that’s the kind of work you do. But for things like logos, drawings, and artwork, Krita is more user-friendly.

For Lightroom: Darktable or RawTherapee

If you’re a photographer, Photoshop may not actually be the best application for your needs — you might want to use Lightroom instead. Unfortunately, neither are available for Linux, but there is a light at the end of the tunnel.
There are two free alternatives to Lightroom that are actually quite good. Neither is objectively better than the other, so we’ll recommend both and leave it up to you to decide which one you like more.


linux-creative-suite-darktable


The first is Darktable, which is the most oft-recommended program among Linux photographers. The interface is complex but it turns out good results. It’s also relatively light on resource usage, so better for older computers and weaker hardware.


linux-creative-suite-rawtherapee


The second is RawTherapee. The interface is simpler to learn and navigate, but lacks some features that you may need (such as selective editing with masks). RawTherapee is also slightly worse at managing large libraries with lots of photos.
Compare the feature set for Darktable with the feature set for RawTherapee to help make your decision a bit easier.

For Illustrator: Inkscape

Not many free applications can be considered as good as their paid counterparts, but Inkscape is one of them. In fact, it’s one of the best free alternatives to paid software out there. No need to spend money here.


linux-creative-suite-inkscape


Inkscape is what you should use if you want to create or edit vector graphics. Vector graphics are mathematical rather than pixel-based, so they can be printed at any resolution. They’re great for creating infographics, for example.
Although Inkscape suffers from a sub-par interface and lack of professional polish, it’s feature complete and certainly usable in a professional environment if needed.

For Premiere Pro: Lightworks or Kdenlive

Professional video editing has often been seen as an activity best suited for Macs, and only in the past decade have viable options come to light on Windows. But for Linux? Video editing can be a pain.


linux-creative-suite-lightworks


So if you can, we recommend paying for quality Linux software. Lightworks is very good — it was used to edit The Wolf of Wall Street, Pulp Fiction, Hugo, and more — but it’s also a bit costly at $438 (or $25 per month). However, you do get what you pay for.
Sure, Lightworks can be used for free, but there are restrictions. You can only export up to 720p and you lose a lot of quality-of-life features, such as timeline rendering, advanced project management, and Boris FX packages.
The paid version unlocks everything and can export up to 4K.


linux-creative-suite-kdenlive


If you want a video editor that’s completely free but still as professional as possible, Kdenlive is your best option. It’s open source, actively developed, and packed full of advanced features.

For Animate: Synfig

Animate is the program formerly known as Flash Pro, the vector animation program that was used in the past to create Flash animations. Now that the web has moved from Flash to HTML5, Adobe rebranded as Animate.


linux-creative-suite-synfig


Synfig has been the open source alternative to Adobe’s program since 2005, and is still the best choice for those who want to pursue 2D vector animation without handing over cash to Adobe. It’s free and in active development.
Synfig uses its own animation file format, but can export to AVI, MPG, GIF, SVG, PNG, and more. Despite the learning curve, you’ll be able to pick up the ropes quickly enough thanks to the user-contributed documentation and tutorials.

For Audition: Ardour or LMMS

Audition doesn’t get as much time in the limelight as Photoshop or Premiere Pro, but it’s a nifty piece of software that’s worthy of recognition. Formerly known as Cool Edit Pro, Audition is what you’d use to edit digital audio.
Audition is a digital audio workstation in the same line as Logic Pro on OS X. From what I know, Audition is used mainly by professional podcasters, but can be used for so much more, like recording and mixing your own music.


linux-creative-suite-ardour


Audacity is the go-to audio editor for most Linux users, but when Audacity isn’t enough, you should think about either Ardour or LMMS.
Ardour is the best DAW available on Linux right now. Not only does it have a clean and usable interface, but it’s packed full of advanced features. Very good and highly recommended.
It’s available for free but only produces audio up to 10 minutes long. You can unlock the full feature set by buying the full version, which has a “pay what you want” price tag. Seriously, you can buy it for as low as $1.


linux-creative-suite-lmms


LMMS, formerly known as Linux MultiMedia Studio, is another good option. This one is completely free but slightly inferior to Ardour. The interface is a bit harder to grasp and the learning curve is a bit steeper, but it’s still useful.
Check out the LMMS Showcase to see examples of tracks that have been made with LMMS.

For InDesign: Scribus

I don’t know of many people who do desktop publishing on Linux, but if you need an alternative to Adobe InDesign, rest assured that such an alternative does exist. It’s called Scribus.
Scribus can be used to create brochures, newsletters, posters, and even book layouts. It can also be used to create animated and interactive PDFs — the kind of stuff you’d expect from any desktop publishing program worth its salt.
It does have a few downsides though, such as the fact it can’t import or export InDesign files. Also, it’s not entirely polished and free of bugs, which can prove frustrating for heavy users. Fortunately, the Scribus documentation is pretty good.

The Ultimate Linux Creative Suite

If you absolutely need programs that are on par with Adobe, then save yourself the headache. Run a copy of Windows alongside Linux (either in a virtual machine or in a dual-boot setup) and get the Creative Cloud applications.
But if you’re okay with a bit of sacrifice here and there, these programs make for a passable Linux Creative Suite:
  • GIMP
  • Darktable
  • Inkscape
  • Lightworks
  • Synfig
  • Ardour
  • Scribus

Source: http://www.makeuseof.com/tag/7-apps-prove-dont-need-adobe-creative-suite-linux/

May 13, 2016

What Is the Best Word Processor for Linux?

Even after all these years, no one has yet dethroned Microsoft Word from its kingly position. Sure, a few alternatives have been playing a great game of catch-up and innovation, but there’s no doubt about it — Word is still the best.
But unless you use some kind of emulation or virtualization software, there’s no way to run Word on a regular Linux setup. Which leaves us with a tough question: what’s the best word processor to use on Linux?
There are a handful of worthy options out there. Let’s take a brief but thorough look at them to see all of their pros and cons. By the end, it’ll be up to you to pick the one that works best for your needs.
Note: We’ll only be exploring native desktop programs, which means no cloud-based word processors like Google Docs. Those are still valid options though, so you should look into them too if you can.

1. LibreOffice Writer

LibreOffice has truly come a long way since it debuted in 2011. A lot of people wonder what the difference is between LibreOffice and OpenOffice — LibreOffice was forked from OpenOffice, in case you didn’t know — and the simple answer is… not much.
Feel free to use either LibreOffice Writer or OpenOffice Writer. We just prefer LibreOffice because it has a more enthusiastic team of developers and it seems like the LibreOffice community is more active.


linux-word-processor-libreoffice


LibreOffice is the most notable software on this list for one reason: it’s the only desktop office suite that can really contend with Microsoft Office these days. In fact, even though Microsoft is still the clear king, LibreOffice is starting to come out on top in some aspects.
New document wizards and templates make the learning curve easy. The interface is straightforward and intuitive yet customizable for advanced users. LibreOffice can open and save to Microsoft file formats, including DOC and DOCX.
There are advanced features too, like “master documents” that group multiple documents together, built-in drawing tools, tracking changes and revisions made to documents, the ability to import and edit PDFs, and more.

2. WPS Writer

WPS Office is the set of office applications formerly known as Kingsoft Office, which you may recognize as one of the best mobile office suites for Android users. The desktop version is notable because it emulates the look and feel of Microsoft Office.
WPS Office is named as such because it contains three applications: Writer, Presentation, and Spreadsheets. All of their developmental efforts are focused on these three only, so rest assured that they aren’t wasting time on other, less important applications.
Note that WPS Office for Linux is a separate community-maintained build that’s free to use on a personal basis.


linux-word-processor-wps-office


The last time we looked at WPS Writer, we were quite impressed by what it could do — and it has only gotten sharper and better since then.
If you prefer the Microsoft’s Ribbon interface, then you’ll like WPS Writer. Once you learn how to use it properly, everything is just significantly easier. And when you combine it with WPS’s ability to open multiple documents with tabs, you’ll fall in love.
WPS can do what most word processors do, including format paragraphs, autosave and back up files, create templates, and more. It also supports the main Microsoft file formats, including DOC and DOCX, but does not support the ODT file format.

3. AbiWord

AbiWord is a simple but effective word processor that’s part of the GNOME Office. It doesn’t come installed by default on Ubuntu, but you can easily install it by using the built-in Software Manager.
Do you remember Microsoft Works? It was a smaller, less expensive alternative to Microsoft Word with fewer features. In much the same way, AbiWord can be considered as the lighter, faster alternative to LibreOffice with fewer features.


linux-word-processor-abiword


This isn’t to say that AbiWord is worse than LibreOffice. Not at all! In many cases, you don’t actually need the full power of a gargantuan application and can settle for something less resource-intensive. In other words, for most home users, AbiWord is more than good enough.
AbiWord supports all industry standard file formats (including Microsoft and WordPerfect), comes with advanced document layout options, and is extensible through separate plugins.

4. Scrivener

Most people know of Scrivener as a “novel-writing tool”, and while it’s true that Scrivener is mainly used by novelists, it’s also used by researchers, bloggers, and even office workers for non-fiction writing.
In short, Scrivener is basically a run-of-the-mill word processor that’s wrapped up in a whole bunch of organizational features. It’s overkill if you’re only working on a single document, but for bigger projects it can be a lifesaver.
What a lot of people don’t know is that there is an unofficial build of Scrivener for Linux, and it’s completely free to use. However, packages are only available for Debian-based distros.


linux-word-processor-scrivener


Scrivener can’t directly open document files, but you can import document files into a Scrivener project. Supported formats include DOC, DOCX, ODT, PDF, RTF, and several others (even Final Draft FDX). Scrivener projects can be exported to these formats as well.
In terms of actual word processing, Scrivener can do a lot: format text and paragraphs, insert tables and lists, highlight selections, track revision histories, add annotations and footnotes, and more.
Scrivener can be really efficient once you learn all of its quirks and tricks. We recommend starting with our guide to Scrivener and these power tips for Scrivener.
Note: If the build of Scrivener for Linux does not work for you and you really want to use Scrivener, you can always buy the Windows version and run it through WINE.

5. Calligra Words

Back in 2010, a bit of disagreement led to a split in the KOffice community, resulting in the inception of Calligra Suite. While most KOffice applications were brought on board, KWord was completely replaced by a new program called Words, which launched in 2012.
As is always the case with from-scratch applications, Calligra Words is still playing catch-up after all these years. It’s much better now than it was back then, but it still feels primitive and incomplete. The interface is also a bit unusual.


linux-word-processor-calligra


My main gripe about the interface is that Calligra insists on a sidebar toolbox and doesn’t provide a way to use the more traditional method of having toolbars — even though Calligra does support toolbars for other stuff. If this doesn’t bother you, great! It bothers me though.
In terms of features, Calligra is very basic. It’s not lacking anything per se, but it doesn’t offer anything interesting beyond what you’d expect from a word processor. And while it does support DOC, DOCX, and ODT, it doesn’t support many others.
All in all, I’m happy that Calligra exists — competition is always good — but it doesn’t inspire me with confidence or excitement. I’d only use it if I couldn’t use any of the above options.

Which Word Processor Do You Use?

If you’re looking for a powerful word processor that comes as part of an office suite, there’s really nothing better than LibreOffice Writer at this time. It sits in the number one spot by a huge margin. WPS Writer is close, but not that close.
However, if you’re dealing with dozens or hundreds of related documents and you need a lot of help staying organized, then I think Scrivener is a valid option to explore. It’s overkill for simple stuff, but absolutely fantastic for heavier-duty stuff.

Source: http://www.makeuseof.com/tag/best-word-processor-linux/

May 6, 2016

AUDACIOUS 3.7 RELEASED, AVAILABLE IN PPA

Firstly, I'd like to apologise for the lack of updates lately! I'll try to post as often before, as long as there are interesting things to write about. Because I still have some catching up to do with various PPA packages that need updating (minor updates, not worthy of an article for the most part), I won't post old news that I didn't get to post during this inactive period, especially since you're probably already familiar with them anyway.

Now back to Audacious. The latest Audacious, which, in case you're not familiar with, is a fast, lightweight audio players, ships with various Qt interface improvements, including plugins which have been ported to Qt, such as the Winamp Classic Interface, the Playlist Manager, Search Tool and Status icon, and more.

GTK2 Interface

Qt interface

Winamp Classic interface

Here's a list of the most important changes in Audacious 3.7:
  • GTK interface only:
    • Internet streams can be recorded while playing via a simple record button;
    • the playlist export window displays supported formats in a drop-down list;
    • a new, unified window has been added for managing equalizer presets;
    • the user interface automatically adjusts to be more usable on high-resolution screens;
    • playlists can be shuffled by whole albums rather than single tracks.
  • Qt interface only:
    • the Qt interface can be customized with several new appearance settings;
    • the following plugins have been ported to Qt: Winamp Classic Interface, Playlist Manager, Search Tool and Status Icon;
    • various small fixes and improvements, such as a visualizer in the info bar, to bring the interface closer to feature-parity with the GTK+ interface;
  • an "Edit Lyrics" option has been added to the LyricWiki plugin, which opens the edit page for the current song;
  • guessing of missing tag fields can be disabled;
  • decoding and playback of standard input is possible with e.g. "cat file.mp3 | audacious -";
  • in dual GTK and Qt builds, incompatible plugins are hidden to avoid confusion;
  • most audtool commands now apply to the playlist which is playing, even if it is in the background;
  • bug fixes.

A complete changelog can be found HERE.


Install Audacious 3.7 in Ubuntu or Linux Mint


As usual, the latest Audacious is available in the main WebUpd8 PPA. The PPA provide Audacious build with GTK2 and Qt interfaces (I can't also enable the GTK3 interface because it requires separate builds).

To install Audacious 3.7 in Ubuntu 14.04, 15.04 or 15.10 / Linux Mint 17.x and derivatives, use the following commands:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install audacious

Once installed, select Audacious from the Dash / menu to launch the GTK2 interface or "Audacious Qt Interface" for the Qt interface.

Source: http://www.webupd8.org/2015/11/audacious-37-released-available-in-ppa.html

Viber for Linux Rolls Out New Update, Encrypts Messages

The Viber desktop Linux app has been updated, gaining a new look and new security measures.
 
Part Skype, part WhatsApp, Viber combines traditional VoIP features with encrypted messaging, emoji and stickers.
As with WhatsApp, Viber uses your mobile telephone number as your ‘identity’ rather than a traditional login (which, yes, means if you don’t use a supported mobile platform — cough, Ubuntu touch, cough — you can’t create an account to use it.
Not that they’ll notice; the service claims to have an estimated 664 million users worldwide — and impressive stat.

What’s New in Viber 6.0.1

End-to-end encryption

Viber 6.0.x brings end-to-end encryption, letting you communicate securely while using the service.
“Our users can confidently use Viber without fear of their messages being intercepted – whether it is in a one-to-one or group message, on a call, on desktop, mobile or tablet,” the company say.
“Additionally, we’ve ensured each user has an individual cryptography key associated with his or her device.”
To chat securely you need to be running the latest version of Viber (which you’re reading about). Look for the grey padlock to confirm that the chit-chat is taking place securely. If you don’t see the icon it’s probable that the person you’re talking to has yet to update their version of the app.
You can read more about Viber’s security policy on their website.

Share Contacts

Know someone who wants to know someone that you know? If so you’ll be stoked to learn about that Viber has added, quote, the: “exciting ability to simply share contacts, file messages, and media between chats!”

Drag and Drop

Lastly, and rather belatedly, you can finally drag & drop pictures, videos, and files into a chat to share stuff with your Viber buddies.

Download Viber for Linux

The Viber Linux app ‘officially’ supports Ubuntu 64-bit and Fedora 64-bit. Be aware that it lacks basic system integration, like a tray icon and chat notifications.



Source: http://www.omgubuntu.co.uk/2016/05/viber-linux-app-updated

May 2, 2016

ClassicMenu Indicator brings back the old school cool from GNOME2 in Ubuntu 16.04

Anyone here remember the massive community back clash when Unity was first introduced? A lot of that had to do with the replacement of GNOME2's rather straight forward menu system with a more modern Unity Launcher that we see today. ClassicMenu Indicator is a small plugin that could bring back some of that old glory.


gnome ClassicMenu Indicator ubuntu


ClassicMenu Indicator for Ubuntu 16.04

Every now and then, you stumble upon interesting little applications in Ubuntu Software Center. ClassicMenu Indicator is a lesser known plugin which I'm sure a lot of people here will appreciate. ClassicMenu Indicator was featured in USC's Editor's Pick category.  
 
 
ClassicMenu Indicator
 
 
As you can see, USC has went through some serious make-over in Ubuntu 16.04 LTS about which you can read here in detail. ClassicMenu Indicator lets you experience some of that old school awesomeness of GNOME Classic in your brand new Ubuntu 16.04 LTS (works on previous releases as well). ClassicMenu Indicator sits on the top menu as an indicator applet and houses GNOME2's classic menu system. Installation is just a click away. 

Source: http://www.techdrivein.com/2016/04/classicmenu-indicator-brings-back-old.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+techdrivein+%28Tech+Drive-in%29

Why Microsoft needed to make Windows run Linux software

And how it could leapfrog Apple as the dev platform of choice.



Perhaps the biggest surprise to come from Microsoft's Build developer conference last week was the Windows Subsystem for Linux (WSL).
The system will ship as part of this summer's Anniversary Update for Windows 10. WSL has two parts; there's the core subsystem, which is already included in Insider Preview builds of the operating system, and then a package of software that Canonical will provide. The core subsystem is what provides the Linux API on Windows, including the ability to natively load Linux executables and libraries. Canonical will provide bash and all the other command-line tools that are expected in a Linux environment.

Microsoft is positioning WSL strictly as a tool for developers, with a particular view to supporting Web developers and the open source software stacks that they depend on. Many developers are very familiar with the bash shell, with building software using make and gcc, and editing text in vi or emacs. WSL will give these developers versions of these tools that are equal in just about every regard to the ones you get on Linux, because they'll be the ones you get on Linux running unmodified on Windows.
With that developer focus, Microsoft isn't supporting WSL as a deployment platform. It might be possible to run, for example, the Apache Web server under WSL, and it might even be useful to do so for development, but the intent is not that applications would ever be run in production with this configuration.

Making lemonade


WSL was derived from Project Astoria, the effort to enable Android apps to run on Windows 10 Mobile; we'd expect that, initially at least, its support is strongest for those APIs that Android needed and that it will be weaker in other areas. This means that while application support should be extensive, Windows won't be able to run every Linux program under the sun. There's no Linux kernel here, so this won't bring support for filesystems such as ZFS or btrfs to Windows. Applications demanding low-level access to hardware devices, such as Wireshark, seem similarly unlikely to run and will continue to need Windows ports. WSL also doesn't include X Windows or any other graphical subsystem; it's strictly for command-line applications only.

Microsoft deciding to support Linux software on Windows is a surprising move, and the obvious question is, why? Superficially, the answer is easy—developers like these tools, so supporting them makes developers happy—but the story runs a little deeper than that. Supporting Linux apps in Windows is a significant move for a company that has spent decades promoting its own APIs and application platform, and it's unlikely that the company would make such a move just to provide a few creature comforts to developers. The need goes deeper than that.
Wind the clock back 15 years and Windows was the only serious platform for software developers. Linux was already an important consideration for servers, but on the desktop was even less of a concern than it is today, reserved only for the most hardcore fans. OS X was in its infancy, and only ran on weird, expensive, underpowered PowerPC hardware. This made Windows the development platform of choice by default. There simply wasn't any good alternative.

This in turn had consequences for software, where solid Windows support could drive server-side usage. A prime example of this is the MySQL database server. While it is better today than it once was, MySQL has always been regarded as second-best when it comes to important considerations such as technical capabilities and data integrity, with PostgreSQL generally held to be the much better database. In spite of this, MySQL won considerable market- and mind-share because it was a much better development platform. It had an easy Windows installer, it had good Windows software for managing databases and writing queries, and it had good ODBC drivers. PostgreSQL's developers, on the other hand, didn't appear to prioritize any of these things, and while it wasn't impossible to run the database on Windows, doing so meant forfeiting the creature comforts that MySQL offered.

It's no great surprise, then, that MySQL proliferated in a way that PostgreSQL didn't.
But things don't work that way any more. Setting up a Ruby development environment on Windows is a wretched experience. Getting Ruby running well is awkward on any platform, but Windows is arguably the worst. The popular node.js environment was born on OS X and Linux, and for a long time could not be effectively run on Windows. Salvatore Sanfilippo, developer of top NoSQL data store redis, has refused to accept patches to make the software run on Windows, not out of any particular hostility towards Microsoft, but because he saw no need for it. He supported the idea of forks of the software that supported Windows, but nothing that would impede development of the core product.

It's still not the year, but it's also not not the year

Windows certainly hasn't disappeared completely from view, but it's no longer the essential, must-have platform that it once was. Why not? Because those two non-contenders in 2000 are more or less viable today. Linux for various reasons still may not be the most comfortable desktop platform (especially for anyone wanting to use it on a brand-new laptop), but it's much more livable than it used to be. And OS X, thanks to a combination of the switch to x86 and Apple's fine hardware design, has become an appealing option for a great many developers.
Indeed, for a number of years, it wasn't a huge exaggeration to say that Apple made the only x86 laptops that were both reasonably affordable and pleasant to use. The MacBook Air, in particular, set a new standard for size and weight, and while the initial release was expensive, subsequent iterations were much less so. The traditional PC world had little that could match, and even when PC OEMs did build good systems—as Lenovo often did—they tended to be high-priced "corporate" machines. Apple truly led the way when it came to offering that mix of price, power, and portability, and it did so with an operating system that just happened to use a large portion of FreeBSD's code. There are still, of course, differences between OS X's FreeBSD and Linux running on a server, but they're a great deal smaller than the differences between either of those and Windows.

What Apple did was to give every computer science and software engineering student a three-pound Unix workstation for not very much money, and unsurprisingly, they proliferated. This effect was compounded further by Apple's enduring popularity in San Francisco and Silicon Valley, and, related, the growth of iOS as an application platform. Smart kids fresh out of university (whether they dropped out or otherwise) weren't thrust into the Windows-centric world of corporate America. They could instead thrive in a culture that revered Apple and equipped them all with shiny new MacBook Pros. Windows wasn't reviled the way that the die-hard open source advocates reviled it; it just wasn't part of their life.

This is a problem that Microsoft has been slow to recognize. Microsoft is generally good at addressing the needs of Microsoft's own existing development community, but this came with a kind of myopia. Anything outside this constituency was ignored. The Visual Studio C and C++ compiler, for example, still lacks full support for C99, the version of the C language that was standardized about 17 years ago. In spite of repeated requests to the company that it add C99 support, there was always pushback. The rationale I was given more than once was that since Windows developers weren't writing C99 code, there was no reason for C99 support.
That Windows developers couldn't write C99 code because the main Windows C and C++ compiler couldn't compile it was apparently beside the point. And that the open source world had embraced C99, and was now producing code that simply couldn't be compiled on Windows—code that Windows developers might well want to use, if only it would work—was similarly ignored. The people writing this code weren't part of the Windows development constituency, and so addressing their needs wasn't a priority. In the last couple of years, there does seem to have been something of a realization within Redmond that it's missing out, and adherence to the newest iterations of the C++ specification has been made a priority, but full C99 support still hasn't been implemented, and it's not clear it ever will be.

The same is broadly true of Unix compatibility in general, and the Unix shell environment and workspace in particular. A hot young developer coming out of a top university is going to be comfortable with bash and make and all those other tools. Visual Studio may be great—Visual Studio is great—but it's irrelevant to this way of working. Microsoft was not completely blind to this problem—I've heard from a few people inside the company that there has to be a not insignificant education effort for new hires, because coming to Microsoft is literally the first time they're exposed to the Windows way of software development—but until last week's announcement, it seems that little was being done to address it in a systematic way.
What we had instead was individual porting efforts. And it's important not to discount these; Microsoft contributed money and developer time to node.js to help port it to Windows. The software was rearchitected to accommodate this—node.js relies heavily on asynchronous I/O, and the optimal approach for this is different on every platform—and I think most people would agree that the result is that node.js has become better software (it also turns out that Windows' approach to asynchronous I/O is really good). The asynchronous I/O parts were broken out into their own library, libuv, which is useful in its own right, and node.js is a client of that library. Microsoft has similarly developed a port of redis that runs natively on Windows.
These efforts were valuable, but it's not an effort that scales well. Microsoft can't port every project, and while Ryan Dahl, creator of node.js, recognized that supporting Windows was valuable and was willing to make considerable changes to node.js to support Windows, that's not true of every developer.

Better hardware calls for broader horizons

 


The hardware gap that Apple once enjoyed has largely gone away. Devices like the HP Spectre x360 and Dell XPS 13 are fine systems; there's a range of diverse, high quality, affordable PC hardware options that really didn't exist five years ago. There's also an interesting degree of diversity; you can get traditional laptops, or laptops with 360 degree hinges, or convertibles like the Surface Pro 4, or exotica such as the Surface Book. These are all solid choices. But the hardware alone isn't enough any more; Windows doesn't offer the development user experience that is now so commonplace. Microsoft needs to do something to appeal to this developer community, and maybe even win it over to Windows.

Windows Subsystem for Linux fixes that by bringing a large part of that user experience to Windows. Redis, for example, will work on WSL. Not a forked port of redis that's been altered to work around the differences between Windows and Unix systems; real redis. The Ruby experience, well, it won't ever be good, because it's a pain on every platform. But it will be better. The same is broadly true for most of the open source stack that powers a huge proportion of Web and cloud development these days. It'll work on Windows, just the same as it already does on Linux. Microsoft is working with Canonical initially, so all of these things will be an apt-get away just like they are on Ubuntu. It wouldn't be tremendously surprising to one day see other Linux flavors, too.

As WSL matures, it doesn't feel beyond the realm of possibility that there will be pressure on Microsoft to treat it as something more than just a development tool and address the desire to deploy onto WSL on Windows Server. Especially for small deployments, the ability to run redis within an otherwise Windows-based deployment without spinning up a virtual machine feels obviously desirable.

But even aside from this, WSL turns Windows into a remarkably strong development platform. The recent Xamarin acquisition and the announcement last week that Xamarin would be free with Visual Studio and released as open source to boot makes Windows a strong candidate for all kinds of software development. Visual Studio includes a high quality Android emulator and all the tools for developing on Android.

The iOS emulator on OS X doesn't support touch. But you can remote control it from a Windows box.
Genuine OS X systems are still required for building iOS software, as iOS applications must be compiled with Apple's toolchain and the iOS simulator only runs on OS X, but with Visual Studio and Xamarin the development can all be done in Windows, and this even offers some advantages that developing on OS X does not: Xamarin offers remote control of the iOS simulator from Windows, and that remote control supports multitouch. On a touchscreen PC you can use a finger or multiple fingers with the iOS simulator. Macs, with Apple's reluctance to add touchscreens to Macs, can't do that.

Developers writing for Apple's systems might even enjoy hardware that isn't tied to Apple's often awkward release schedules. Mac users are being left behind when it comes to virtual reality, because Apple refuses to build systems with fast, modern desktop GPUs. Its desktop machines are either laptops with massive screens, in the case of the iMacs, or languishing unloved and un-updated, in the case of the Mac Pro. A Windows development system that can handle VR—and development for Windows (a category that reaches as far as HoloLens and Xbox, Linux, iOS, and Android)—can be had for under a grand.

Microsoft's eye may be on Web developers right now. But what it's building won't just appeal to Web developers. It should make Windows into the developer platform for everyone.

Source: http://arstechnica.com/information-technology/2016/04/why-microsoft-needed-to-make-windows-run-linux-software/