2015's top open source book releases

Publisher's picks: 29 open source books for 2015

Yearbook cover 2015
Image by : 

Opensource.com

Get the newsletter

Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.

Whether you prefer reading technical content online, in print, or both, technical book publishers have you covered. Six publishers share picks for top 2015 open source-related book releases.

Addison-Wesley Professional

The Go Programming Language book coverThe Go Programming Language
by Alan A. A. Donovan and Brian W. Kernighan
ISBN: 0134190440
400 Pages
Publication Date: October 2015
Available eBook Formats: EPUB, MOBI, and PDF

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, making it accessible to readers whether they're most comfortable with JavaScript, Ruby, Python, Java, or C++. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test for understanding and explore extensions and alternatives.

Effective Python book coverEffective Python: 59 Specific Ways to Write Better Python
by Brett Slatkin
ISBN: 0-13-403428-7
256 Pages
Publication Date: February 2015
Available eBook Formats: EPUB, MOBI, and PDF

This book will help readers master a truly “Pythonic” approach to programming, harnessing Python's full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers' best-selling Effective C++, Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on his years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. He teaches the best way to accomplish key tasks, in order to write code that's easier to understand, maintain, and improve.

The Dart Programming Language book coverThe Dart Programming Language
by Gilad Bracha
ISBN: 0-321-92770-2
224 Pages
Publication Date: December 2015
Available eBook Formats: EPUB, MOBI, and PDF

In this rigorous but readable introductory text, Dart specification lead Gilad Bracha fully explains both the language and the ideas that have shaped it, offering an authoritative description of Dart for programmers, computer science students, and other well-qualified professionals. The text illuminates key programming constructs with significant examples, focusing on principles of the language, such as optional typing and pure object-orientation. Bracha thoroughly explains reflection in Dart, showing how it is evolving into a form that programmers can easily apply without creating excessively large programs. He also shares valuable insights into Dart's actor-style model for concurrency and asynchronous programming. Throughout, he covers both language semantics and the rationale for key features, revealing not just what Dart does, but why it works the way it does.

Clojure Recipes book coverClojure Recipes
by Julian Gamble
ISBN: 0-321-92773-7
288 Pages
Publication Date: October 2015
Available eBook Formats: EPUB, MOBI, and PDF

This is a wide-ranging, up-to-date “code recipe book” for an increasingly popular language. With practical and self-contained examples, Gamble illuminates Clojure's key features and best practices, showing how to solve real-world problems one step at a time. Focusing on Clojure 1.7 and higher, the book fully reflects recent enhancements to ensure the most up-to-date code for a given project.


Apress

Shell Scripting Recipes book coverShell Scripting Recipes, Second Edition
by Jayant Varma
ISBN13: 978-1-484202-21-0
380 Pages
Publication Date: October 2015
Available eBook Formats: EPUB, MOBI, PDF

Shell Scripting Recipes is filled with more than 150 much-needed and practical recipes that follow a problem-solution format, and help all Unix users regain some of the lost time spent creating and testing shell scripts. Most scripts in this book are POSIX (Portable Operating System Interface)-compliant, so they are supported by many of the major shell variants, including Bash, ksh, and sh, among others. This completely updated second edition takes into account the many changes to shell scripting that have occurred since its original publication nearly 10 years ago, and all the recipes are now relevant for a modern audience.

Each real-world example recipe follows the same structure and easily shows you what's going on in each case. File conversion (DOS, UNIX, and Mac), system administration, and resource monitoring are just a few of the topics covered in this highly practical shell scripting reference. You will also find recipes for filename management, complex date calculations, screen control capabilities, and more.

Pro Bash Programming book coverPro Bash Programming, Second Edition
by Jayant Varma , Chris F. A. Johnson
ISBN13: 978-1-484201-22-0
256 Pages
Publication Date: June 2015
Available eBook Formats: EPUB, MOBI, PDF

Pro Bash Programming teaches you how to effectively utilize the Bash shell in your programming. The Bash shell is a complete programming language, not merely a glue to combine external Linux commands. By taking full advantage of Shell internals, Shell programs can perform as snappily as utilities written in C or other compiled languages. And you will see how, without assuming Unix lore, you can write professional Bash 4.3 programs through standard programming techniques. This second edition has updated for Bash 4.3, and many scripts have been rewritten to make them more idiomatically Bash, taking better advantage of features specific to Bash. It is easy to read, understand, and will teach you how to get a grip on Bash programming, without drowning you in pages and pages of syntax

Pro Freeware book coverPro Freeware and Open Source Solutions for Business
by Philip Whitt
ISBN13: 978-1-484211-31-1
280 Pages
Publication Date: September 2015
Available eBook Formats: EPUB, MOBI, PDF

A practical guide for the small business owner seeking viable alternative to expensive commercial software packages and subscriptions. This reference guide provides an overview of many popular and powerful free alternatives to proprietary software. In this book you will find free and open source solutions for office productivity, PDF creation, accounting, image editing and graphic design, desktop publishing, 3D design, CAD, audio and video editing, website and blog creation, customer relationship management, point of sale, networking and security, and alternatives to the Windows and Macintosh operating systems. You can save a substantial sum of money by replacing just a few commercial software titles with free and open source solutions.

Beginning Ubuntu book coverBeginning Ubuntu for Windows and Mac Users
by Nathan Haines
ISBN13: 978-1-484206-09-6
244 Pages
Publication Date: September 2015
Available eBook Formats: EPUB, MOBI, PDF

Want to move to an open source operating system? Or want to help someone else make that move? If you've struggled to find comprehensive guides or didn't even know where to start, this book will delight you. It teaches all newcomers to Ubuntu how to get the most out of Ubuntu for work, home, and play. Get started on your open source journey using this excellent beginner's guide.

OpenStack Trove book coverOpenStack Trove
by Amrith Kumar and Douglas Shelley
ISBN13: 978-1-484212-22-6
336 Pages
Publication Date: August 2015
Available eBook Formats: EPUB, MOBI, PDF

Your step-by-step guide to set up and run a secure and scalable cloud Database as a Service (DBaaS) solution. The book shows you how to set up and configure the Trove DBaaS framework, use prepackaged or custom database implementations, and provision and operate a variety of databases—including MySQL, PostgreSQL, MongoDB, Cassandra, and Redis—in development and production environments.

Authors Amrith Kumar and Douglas Shelley, both active technical contributors to the Trove project, describe common deployment scenarios and walk you through the setup, configuration, and ongoing management of complex database topics like replication, clustering, and high availability. The book provides detailed descriptions of how Trove works and gives you an in-depth understanding of its architecture.


No Starch

Automate the Boring Stuff with Python book coverAutomate the Boring Stuff with Python
by Al Sweigart
ISBN: 978-1-59327-599-0
504 Pages
Publication Date: April 2015
Available eBook Formats: EPUB, MOBI, PDF

Why should you spend hours (or weeks or months!) doing tedious computer tasks when you can write a program to do the dirty work for you? Automate the Boring Stuff with Python assumes no prior programming experience&mdashall you need is a mundane task to "automate" and the desire to dive into Python basics. Python programs can effortlessly accomplish tasks like splitting, merging, watermarking and encrypting PDFs, updating Excel spreadsheets, and filling out online forms. Automate the Boring Stuff with Python can streamline anyone's work day and free them from time-consuming computer tedium.

To read more from Al Sweigart, author of Automate the Boring Stuff with Python, visit his Opensource.com author page.

Teach Your Kids to Code book coverTeach Your Kids to Code
by Bryson Payne
ISBN: 978-1-59327-614-0
336 Pages
Publication Date: April 2015
Available eBook Formats: EPUB, MOBI, PDF

Even if don't know your loops from your variables, with Teach Your Kids to Code, you can walk your child through fundamental programming concepts with Python. The book employs step-by-step explanations and visual and game-oriented examples to grab kids' attention while strengthening their problem-solving and computational thinking skills. As you both work through the book, you'll learn how to build games (like Yahtzee and Pong), make a program that encodes and decodes messages, draw colorful shapes with Turtle graphics, and more.

To read more from Bryson Payne, author of Teach Your Kids to Code, visit his Opensource.com author page.

SparkFun Guide to Processing book coverSparkFun Guide to Processing
by Derek Runberg
ISBN: 978-1-59327-612-6
312 Pages
Publication Date: August 2015
Available eBook Formats: EPUB, MOBI, PDF

The Sparkfun Guide to Processing uses the artist-friendly programming language Processing to unleash your creativity through interactive art and games. You'll get a primer on animation and programming, and then work your way through a series of step-by-step, hands-on projects, including pixel art, a playable maze game, and psychedelic visualizations that respond to light, sound, and temperature.

The Official ScratchJr Book The Official ScratchJr Book
by Marina Umaschi Bers and Mitchel Resnick
ISBN: 978-1-59327-671-3
160 Pages
Publication Date: October 2015
Available eBook Formats: EPUB, MOBI, PDF

Scratch is already the standard for teaching kids to program, with more than 11 million users. Now, there's a new kid in town—ScratchJr! With this programming language designed for kids ages 5 to 7, young ones can get a head start on picking up programming fundamentals by creating interactive stories and games on Android and iPad tablets. Written by ScratchJr's creators, The Official ScratchJr Book contains several activities that build on one another, with each chapter culminating in a fun final project. Along the way, kids develop computational-thinking, problem-solving, and design skills. The book includes helpful tips for grown-ups, creative challenges to take the learning further, and suggestions for connecting the activity with literacy and math concepts.

Doing Math with Python book coverDoing Math with Python
by Amit Saha
ISBN: 978-1-59327-640-9
264 Pages
Publication Date: August 2015
Available eBook Formats: EPUB, MOBI, PDF

Doing Math with Python is the perfect book for anyone who loves, or studies, math. Doing Math with Python shows you how to use Python to delve into high school–level math topics, such as statistics, geometry, probability, and calculus. Creative coding challenges and applied examples will put your new math and coding skills into practice. You'll write an inequality solver, plot gravity's effect on how far a bullet will travel, shuffle a deck of cards, estimate the area of a circle by throwing 100,000 "darts" at a board, explore the relationship between the Fibonacci sequence and the golden ratio, and more. Along the way, you'll discover new ways to explore math and gain valuable programming skills that you'll use throughout your study of math and computer science.


O'Reilly Media

Fluent Python book coverFluent Python
by Luciano Ramalho
ISBN: 978-1-4919-4600-8
770 Pages
Publication Date: July 2015
Available eBook Formats: DAISY, EPUB, MOBI, PDF

Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.

Learning Spark book coverLearning Spark
by Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia
ISBN: 978-1-4493-5862-4
276 Pages
Publication Date: January 2015
Available eBook Formats: DAISY, EPUB, MOBI, PDF

Data in all domains is getting bigger. How can you work with it efficiently? Recently updated for Spark 1.3, this book introduces Apache Spark, the open source cluster computing system that makes data analytics fast to write and fast to run. With Spark, you can tackle big datasets quickly through simple APIs in Python, Java, and Scala. This edition includes new information on Spark SQL, Spark Streaming, setup, and Maven coordinates. Written by the developers of Spark, this book will have data scientists and engineers up and running in no time. You'll learn how to express parallel jobs with just a few lines of code, and cover applications from simple batch jobs to stream processing and machine learning.

Git for Teams book coverGit for Teams
by Emma Jane Hogbin Westby
ISBN: 978-1-4919-1118-1
356 Pages
Publication Date: August 2015
Available eBook Formats: DAISY, EPUB, MOBI, PDF

You can do more with Git than just build software. This practical guide delivers a unique people-first approach to version control that also explains how using Git as a focal point can help your team work better together. You'll learn how to plan and pursue a Git workflow that not only ensures that you accomplish project goals, but also fits the immediate needs and future growth of your team. The first part of the book on structuring workflow is useful for project managers, technical team leads, and CTOs. The second part provides hands-on exercises to help developers gain a better understanding of Git commands.

Living Clojure book coverLiving Clojure
by Carin Meier
ISBN: 978-1-4919-0904-1
242 Pages
Publication Date: April 2015
Available eBook Formats: DAISY, EPUB, MOBI, PDF

If you're an experienced programmer who has not worked with Clojure before, this guide is the perfect thorough but gentle introduction for you. Author Carin Meier not only provides a practical overview of this JVM language and its functional programming concepts, but also includes a complete hands-on training course to help you learn Clojure in a structured way. The first half of the book takes you through Clojure's unique design and lets you try your hand at two Clojure projects, including a web app. The holistic course in second half provides you with critical tools and resources, including ways to plug into the Clojure community.

Docker Cookbook book coverDocker Cookbook
by Sébastien Goasguen
ISBN: 978-1-4919-1971-2
366 Pages
Publication Date: November 2015
Available eBook Formats: DAISY, EPUB, MOBI, PDF

Whether you're deploying applications on premise or in the cloud, this cookbook provides developers, operators, and IT professionals with more than 130 proven recipes for working with Docker. With these practical solutions, experienced developers with no previous knowledge of Docker will be able to package and deploy distributed applications within a couple of chapters. IT professionals will be able to solve everyday problems, as well as create, run, share, and deploy Docker images. Operators will quickly be able to adopt the tools that will change the way they work.


Packt

Python Machine Learning book coverPython Machine Learning
by Sebastian Raschka
ISBN: 9781783555130
454 Pages
Publication Date: September 2015

Visit just about any tech or business website from the past decade and you'll find someone talking about Big Data. But whatever "revolution" took place within business over the past few years is well and truly over—Big Data is now the norm. In 2015, it's all about what you do with your data. And that's where machine learning comes in, allowing you to model and analyze your data in ways that help you predict future outcomes and behavior. In a global economy where the margins between success and failure are small and the future looks just a little bit frightening, the control that machine learning insights can bring will give you confidence that the world around you isn't as impenetrable as you first thought.

Python Machine Learning connects directly to this trend, providing an accessible and practical route through the topic with one of the world's most popular programming languages. But its accessibility doesn't mean it lacks depth—it's comprehensive, too, guiding readers through some of the latest Python machine learning libraries, such as Theano and Keras. It also takes in a number of different applications, from sentiment analysis to neural networks. At Packt, we see the book not only as further evidence of Python's popularity, but also indicative of a technical workforce interested in delving in and out of a range of problems quickly.

Go Programming Blueprints book coverGo Programming Blueprints
by Mat Ryer
ISBN: 9781783988020
274 Pages
Publication Date: January 2015

Go, in many ways, echoes Python. Like Python, Go is an expressive multipurpose language, demonstrating a current trend for languages that are capable of providing rapid solutions to a wide range of programming challenges. One of the most interesting things about Go is that everything about it is very deliberate. Perhaps this is unsurprising for a programming language that has been developed by Google, an organization that has made matters of detail and engineering a core part of their brand, but it's still worth thinking about in the context of the future of open source, in terms of what it means and what it will look like for programmers.

Go's elegant and expressive syntax isn't something that should be learned, but instead should be experienced. That's where we started with Go Programming Blueprints. Exploring Go through a number of different projects, including a chat application (using web-sockets) and a random recommendation service (you'll have to look inside to find out what that looks like), the book demonstrates how Go makes building for scalability and performance simple. At a time when these issues have never been more important in the industry, we believe that it's only by diving straight into these problems that we can properly tackle them—and build better software.

Machine Learning with Spark book coverMachine Learning with Spark
by Nick Pentreath
ISBN: 9781783288519
338 Pages
Publication Date: February 2015

We've already seen that machine learning is becoming the area that's defining data science as we know it—from Big Data to small data, from data mining to visualization, at the core of all these elements is the ability to learn and predict from data. But with Spark, we're looking at the future of machine learning—its speed and processing power mean it's the tool that's redefining what's possible with Big Data. Spark's in-memory data storage is perhaps one of its most exciting features, but it's only once you've seen it in action, processing data across clusters, that you can begin to get a sense of how it can be used for high-velocity data analysis.

Machine Learning with Spark really communicates the full extent of what's possible with Spark—at Packt we know that technological innovation is really driven by the triumvirate of speed, efficiency, and size, and that's certainly what makes Spark such a big deal for us. The book does look like a standard machine learning guide, but because of Spark's integrated offering, you'll find chapters that explore data processing and preparation, as well as a chapter dedicated to real-time machine learning, the field where Spark really stands out.

React.js Essentials book coverReact.js Essentials
by Artemij Fedosejev
ISBN: 9781783551620
208 Pages
Publication Date: August 2015

In 2014, we were looking toward MEAN as the crucial full-stack web development solution. But that's started to change, with the rise of unbelievably lightweight tools that bridge the divide between framework and library. React.js rises above all others. Created by Facebook, React.js is now being used by some of the biggest tech companies in the world, including AirBnB and Instagram. The fact that these organizations depend upon the great UI and user experience of their apps and websites is really a testament to React's power. The reason why React is so impressive is simple—it lets you build UI components that immediately update with data changes. It lives up to its name—React reacts as soon as it needs to.

Inspired by React's rapid response time, React.js Essentials responds to the web development world's current love for components. Offering an accessible and fast-paced journey through the world of React.js, it underlines just why React is becoming more and more popular. Perfect for web developers interested in the cutting-edge of their field, the book looks set to remain relevant throughout 2016, as the world plays catch up with those most committed to and driven by innovation. The book comes with a GitHub repository, where readers can find source code, updates, and more.

Python Data Science Essentials book coverPython Data Science Essentials
by Alberto Boschetti, Luca Massaron
ISBN: 9781785280429
258 Pages
Publication Date: April 2015

If Python is the one language that could lay a claim to defining programming in 2015 (yes, there are some close contenders, but no other language is quite so ubiquitous as Python), it's only fair that we return to where we started and let another of our most popular Python titles have the final word.

Python Data Science Essentials opens up a whole new approach to data science. The book was developed, like many Packt titles, with accessibility in mind. This doesn't just mean it's "easy to follow" (although, if you must know, it is). It means, more specifically, that the book offers a range of readers—whether you're a web developer working with Python or a data scientist that's always worked with R, but is now curious about Python—a simple way to explore Python's data science capabilities. Everyone wants to better understand data. Python Data Science Essentials shows you that in-depth insight doesn't have to be difficult.


Wiley

OpenStack Cloud Application Development book coverOpenStack Cloud Application Development
by Scott Adkins, John Belamaric, Vincent Giersch, Denys Makogon, Jason E. Robinson
ISBN: 978-1-119-19431-6
168 Pages
Publication Date: November 2015
Available eBook Formats: EPUB, PDF

OpenStack Cloud Application Development is a fast-paced, professional book for OpenStack developers, delivering comprehensive guidance without wasting time on development fundamentals. Written by experts in the OpenStack community from Infoblox, Gigaspaces, GoDaddy, and Comcast, this book shows you how to work effectively and efficiently within the OpenStack platform to develop large, scalable applications without worrying about underlying hardware. Follow along with an OpenStack build that illustrates how and where each technology comes into play, as you learn expert tips and best practices that make your product stronger. Coverage includes OpenStack service primitives, networking within the OpenStack Ecosystem, deployment of Virtualized Network Functions for Enterprises, containers, data protection, and much more.

Data Science and Big Data Analytics book coverData Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data
by EMC2 Education Services
ISBN: 978-1-118-87613-8
432 Pages
Publication Date: January 2015
Available eBook Formats: EPUB, PDF

Data Science and Big Data Analytics is about harnessing the power of data for new insights. The book covers the breadth of activities and methods and tools that data scientists use. The content focuses on concepts, principles, and practical applications that are applicable to any industry and technology environment, and the learning is supported and explained with examples that you can replicate using open-source software.

Linux Bible book coverLinux Bible, 9th Edition
by Christopher Negus
ISBN: 978-1-118-99987-5
912 Pages
Publication Date: April 2015
Available eBook Formats: EPUB, PDF

Linux Bible is the ultimate hands-on Linux user guide, whether you're a true beginner or a more advanced user navigating recent changes. This updated ninth edition covers the latest versions of Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21, and Ubuntu 14.04 LTS, and includes new information on cloud computing and development with guidance on OpenStack and Cloudforms. With a focus on RHEL 7, this practical guide gets you up to speed quickly on the new enhancements for enterprise-quality file systems, the new boot process and services management, firewalld, and the GNOME 3 desktop. Written by a Red Hat expert, this book provides the clear explanations and step-by-step instructions that demystify Linux and bring the new features seamlessly into your workflow.

Professional Python book coverProfessional Python
by Luke Sneeringer
ISBN: 978-1-119-07085-6
288 Pages
Publication Date: October 2015
Available eBook Formats: EPUB, PDF

Professional Python goes beyond the basics to teach beginner- and intermediate-level Python programmers the little-known tools and constructs that build concise, maintainable code. Design better architecture and write easy-to-understand code using highly adoptable techniques that result in more robust and efficient applications. Coverage includes decorators, context managers, magic methods, class factories, metaclasses, regular expressions, and more, including advanced methods for unit testing using asyncio and CLI tools. Each topic includes an explanation of the concept and a discussion on applications, followed by hands-on tutorials based on real-world scenarios. All sample code is available for download from the companion website, and the "Python 3 first" approach covers multiple current versions, while ensuring long-term relevance.

Reliable JavaScript book coverReliable JavaScript: How to Code Safely in the World's Most Dangerous Language
by Lawrence Spencer, Seth Richards
ISBN: 978-1-119-02872-7
528 Pages
Publication Date: July 2015
Available eBook Formats: EPUB, PDF

Reliable JavaScript: How to Code Safely in the World's Most Dangerous Language demonstrates how to create test-driven development for large-scale JavaScript applications that will stand the test of time and stay accurate through long-term use and maintenance. Taking a test-first approach to software architecture, this book walks you through several patterns and practices and explains what they are supposed to do by having you write unit tests. Write the code to pass the unit tests, so you not only develop your technique for structuring large-scale applications, but you also learn how to test your work. You'll come away with hands-on practice that results in code that is correct from the start, and has the test coverage to ensure that it stays correct during subsequent maintenance. All code is provided both in the text and on the web, so you can immediately get started designing more complete, robust applications.

Did you have a favorite open source title that wasn't included in this list? Tell us about it in the comments.

About the author

Rikki Endsley
Rikki Endsley - Rikki Endsley is a community manager and editor for Opensource.com. In the past, she worked as the community evangelist on the Open Source and Standards (OSAS) team at Red Hat; a freelance tech journalist; community manager for the USENIX Association; associate publisher of Linux Pro Magazine, ADMIN, and Ubuntu User; and as the managing editor of Sys Admin magazine and UnixReview.com. Follow her on Twitter at: @rikkiends.