2015 was a year of many new open source projects hitting the scene with a splash. From enterprise solutions to home brewed open source concoctions, many of the projects released as open source software this year have made a huge impact on the world of computing in a very short amount of time. While flash stardom isn't always the best predictor of longevity, we think these 10 projects just might have come onto the scene with enough momentum to continue their success in the new year.
You might call this list our most likely to succeed in 2016.
Fortunately, it's easy to measure developer interest for projects being released on GitHub. This list is a compilation of some of our favorites from the most starred releases from GitHub repositories created in the past year with open source licenses. They piqued our curiosity, and if they pique yours too, why not take a look? Clone your favorite and try it out. And if you want to join in on the action, why not fork a copy, contribute some changes, and help make these projects continue to succeed in the new year.
Swift, a new programming language by Apple designed to be a successor to Objective-C as the language of choice for writing applications for Apple's platforms and beyond, was released to the world in 2014. But earlier this month, Apple took the step of releasing the code base as open source under an Apache 2.0 license. Swift is a compiled language, and many efforts have been made to optimize it for speed, readability, and modern programming techniques.
The Art of Command Line
Have you always wanted to become a command-line ninja? Who hasn't wanted to be able to effortlessly punch out a seemingly cryptic series of commands to instantly bend their machine to their will? Okay, this repository isn't going to replace years of training and practice to instantly turn you into an elite system administrator, but if you're a new Linux user or just one who hasn't spent much time behind a terminal window, you might want to check this out. The Art of Command Line isn't a how-to or tutorial in its own right, but more of a study guide or a body of knowledge for those seeking to upgrade their terminal-fu. It's a giant list of things to learn in order to become the master of the shell, and available under a Creative Commons Attribution-ShareAlike 4.0 license.
Material Design Lite
The Material Design Lite components by Google are designed to make it easy to add a material design look and feel to your website and web applications. What is material design? It's a consistent look and feel designed to give virtual components, from buttons to toggles to input fields, a visual style which feels intuitive to interact with through the careful use of light, shadows, movement, and interactivity. You'll immediately recognize it as the look of Google-made web applications. Material Design Lite is released under the Apache 2.0 license.
TensorFlow, another contribution to this list from Google, is an open source library for numerical computation using data flow graphs. It connects operations and data with nodes and graph edges, much in the same way the neural networks of the human brain are organized. TensorFlow is therefore a framework for building machine learning applications, making it ideal for complex applications like language processing which are difficult to impossible to develop with traditional algorithmic paradigms. TensorFlow is released as open source under the Apache 2.0 license.
Dragula sums up its tag line as "Drag and drop so simple it hurts." We hope it doesn't hurt, but Dragula does make it easy to create web applications with drag and drop functionality without relying on huge frameworks or complicated custom code. Just insert a few lines of code into your application to tell Dragula which components are draggable, and it handles everything else: clicks, touch interaction, shadows, even the sort order. Dragula is available under an MIT license.
Big List of Naughty Strings
This isn't a compilation of things you shouldn't say to your mother. Rather, it's a list of strings that are likely to cause problems for applications if they don't adequately clean user input. It's safe to say that if someone can input a harmful string into your application, eventually someone will. Whether those strings inject data via SQL, through server code or command injection, or introduce other vulnerabilities, it's important to make sure that your program cleans its string input to prevent malicious or just unexpected behavior. Use this collection as a part of your security tests to make sure your applications behaves properly. The Big List of Naughty Strings is available under an MIT license.
Have you ever wanted to understand how the Linux kernel works? As in, really works, including the nitty-gritty details? Much of the freely available documentation out there focuses on the user-facing parts of the Linux operating system, along with its components like various GNU components, desktop environments, and applications; and for a project as large and complex as Linux, a beginner would easily get lost just trying to dive straight into the source code. Linux insides is a series of articles written to give you a picture of the inner workings of the Linux kernel, and it's completely free under a Creative Commons Attribution NonCommercial ShareAlike 4.0 license.
Deepdream is a Google-created computer vision program that uses neural networks to interpret images by detecting patterns and amplifying them. For an artificial intelligence researcher or developer, it can be used to classify images based on their contents. For everyone else, it's a library for creating some really psychedelic colorful interpretations of the input images. Packaged with an IPython notebook to make experimenting easy, this repository lets even novice users turn images into dream-like landscapes. Deepdream is released under an Apache 2.0 license.