## 10 open source tools IT leaders should know about now by Seth Kenlon ## 1. Wireguard VPN is essential, whether all of your workers are remote or whether you have only a few key personel who need to log in to headquarters. It's a foregone conclusion now that your organization offers remote access. Unfortunately, VPN is famously complex for an IT department to configure and maintain. The strength of open source is its adaptability, though, and to fill the gap between the dire need for secure remote access and the pain of setting it up, there's [WireGuard](http://wireguard.com). Wireguard securely encapsulates IP packets over the UDP protocol. You add a WireGuard interface, configure it with your private key and a remote computer's public keys, and send data between the two. How you manage and distribute keys and configurations is left up to you, so your site admins can integrate that process into whatever framework they already have established, or whatever works best for them. It's VPN connectivity with the simplicity of SSH. And better still, as of its 5.6 release, the Linux kernel features Wireguard *built in*. Once you try Wireguard, take a look at [Tailscale](https://tailscale.com/), a system designed by Wireguard developers to minimize network hops so you can create a VPN mesh. ## 2. Nextcloud ![Nextcloud](nextcloud.png) Capturing the sense of colocation in a remote environment can be difficult, whether "remote" means your users are spread across the globe or just different floors of a single office. Many suites have tried to make the complex act of sharing documents with other users smooth and easy to do, but few achieve it. If you're looking for easy and extensible groupware, [Nextcloud](http://nextcloud.com) is the solution you're looking for. Nextcloud is a fork of ownCloud (created by its own founder, no less) with a concentration on what users need to be collaboratively productive. It doesn't pretend to be a virtual office suite, but instead focuses on being a virtual office space where users can come together, share files with each other, build out projects, schedule meetings, document processes, check email, connect through integrated text, voice, and video chat, and much more. Nextcloud supports SSO, LDAP, SAMBA, WebDAV, CalDAV, and all the other usual protocols you'd expect. Nextcloud has a rich plugin structure, so the possibilities are endless, especially if you have a userbase prone to web development. You can self-host Nextcloud, should your IT team prefers managing it themselves, or you can purchase a hosted plan. Your users will thank you, and you'll appreciate how effective it is against shadow IT file shares. ## 3. Flatpak If your organization spends resources maintaining custom packages for Linux workstations and servers, then it's time to take a look at [Flatpak](http://flatpak.org). Flatpak is the containerization of applications and their runtimes. With it, you can install a layer of dependencies on a system, and any application that uses those dependencies as a self-contained application. If you later need a newer version of an application, you can install it alongside the older version. Dependencies are containerized, so new applications can install newer dependencies as needed, without introducing conflict. Just as importantly, these applications are constrained by kernel namespaces in much the same way as containers are, so security is paramount. And if that's not enough, flatpaks can be installed on nearly any Linux distribution, so the same Flatpak runs in exactly the same way on your Ubuntu workstations as it does on your RHEL racks. Don't let vital packages and dependencies hold back your OS updates, and don't waste any more time packaging the same application in different formats. Use Flatpak, [package flatpaks](https://opensource.com/article/19/10/how-build-flatpak-packaging), create a local hub for your in-house software and utilize public repositories like [Flathub](http://flathub.org) for everything else. Flatpak unlocks the potential of the staggering array of Linux applications, and it makes your job a lot easier. ## 4. Phabricator Project managers are important, and their jobs are complex. Open source technology can help them manage their resources, schedules, and deadlines. The [Phabricator](https://www.phacility.com/phabricator/) project is a robust and proven project management suite, ticketing system, Git repository, blogging platform, dispute resolution framework, and more, plus it has a command-line interface for those who find GUIs inefficient. Whether your project managers are overseeing software development or whether they're tracking the progress of a publication or a construction site, Phabricator offers a means for them to stay informed. It also has tools for building a knowledge base, either internal or external, so you can document processes and share data between users and departments. You can host Phabricator yourself, or else buy a hosted plan from Phacility, the developers (and users) of the suite itself. It's time to get your project managers off of their spreadsheets and into a modern project tracker and all the many benefits it brings. ## 5. Apache Guacamole Access to workstations is critical for work-from-home strategies, helpdesk support, and sheer convenience. Good UNIX admins might be happy to perform most tasks over SSH, but even they sometimes need a GUI to troubleshoot, or to help a user with something specific to the desktop. [Apache Guacamole](https://guacamole.apache.org/) is an open source clientless remote desktop gateway, featuring support for VNC, RDP, and even SSH. From the user's perspectives, it requires no client, no extra plugins, and no special software. Once your admins have Guacamole installed on a gateway server, all users need is a web browser to access their desktop from anywhere. That's a serious convenience a user needing to access their workstation from outside the office, but it also has benefits for the busy admin with systems spread across a network (virtual or otherwise). More importantly, it ensures that users are never wanting for data they can't access when they need it. ## Open source for open solutions These are just five solutions to a few problems companies face, but there's a lot more out there. It's important to keep in mind that open source is a collaborative process between systems administrators, developers, and users. Before implementing a solution, give it a trial run. Learn from your users what they need, and work hard to find the open source solution that delivers it. Open source dominates the modern software market, so let it play to its strengths: noncompetitive, iterative, and customizable excellence. Implement something today, take ownership of your instance of it, and let it grow with your company.