DOKK Library

Open Source Yearbook 2015

Authors opensource.com

License CC-BY-SA-4.0

Plaintext
Opensource.com/yearbook
OPENSOURCE.COM
                      ..............   ..
                             .............

      Opensource.com publishes stories about creating, adopting, and sharing
      open source solutions. Visit Opensource.com to learn more about how the
      open source way is improving technologies, education, business, government,
      health, law, entertainment, humanitarian efforts, and more.

      Submit a story idea: https://opensource.com/story

      Email us: open@opensource.com

      Chat with us in Freenode IRC: #opensource.com


           Twitter @opensourceway: https://twitter.com/opensourceway

           Google+: https://plus.google.com/+opensourceway

           Facebook: https://www.facebook.com/opensourceway

           Instagram: https://www.instagram.com/opensourceway
FROM THE
                                                         .  ........
                                                           ... .. ...
                                             E D I T O R .. .. .. ....
                                                                      . .
            Dear Open Source Yearbook reader,
            The “open source” label was created back in 1998, not long after I got my start in tech publishing [1].
            Fast forward to late 2014, when I was thinking about how much open source technologies, commu-
            nities, and business models have changed since 1998. I realized that there was no easy way—like a
            yearbook—to thumb through tech history to get a feel for open source.
               Sure, you can flip through the virtual pages of a Google search and read the “Best of” lists collected
            by a variety of technical publications and writers, much like you can thumb through newspapers from
            the 1980s to see the how big we wore our shoulder pads, neon clothing, and hair back then. But
            neither research method is particularly efficient, nor do they provide snapshots that show diversity
            within communities and moments of time.
               The idea behind the Open Source Yearbook is to collaborate with open source communities to
            collect a diverse range of stories from the year. We let the writers pick the criteria, which means the
            yearbook isn’t just full of the fastest, most popular, smartest, or best looking open source solutions.
            Instead, the yearbook offers a mix of open source solutions and projects, from a range of writers and
            communities, to offer a well-rounded (albeit incomplete) glimpse at what open source communities
            and projects looked like in 2015.
               We couldn’t have put this yearbook together without contributions from the following writers:

              • Alicia Gibb, CEO of Lunchbox Electronics
              • Becky Stern, director of wearables at Adafruit
              • Ben Cotton, support engineer group leader at Cycle Computing
              • Ben Nuttall, education developer advocate for the Raspberry Pi Foundation
              • Christine Abernathy, Developer Advocate on the Open Source team at Facebook
              • Cindy Pallares-Quezada, an Outreachy alumni
              • David Both, Linux expert and enthusiast
              • Drishtie Patel, GIS Analyst and Missing Maps Project Coordinator at the American Red Cross
              • Harris Kenny, VP of Marketing at Aleph Objects
              • Italo Vignoli, founding member of The Document Foundation
              • Jeff Triplett, Frank Wiles, and Jacob Kaplan-Moss, Django contributors
              • Jesus M. Gonzalez-Barahona, co-founder of Bitergia
              • John Esposito, Editor-in-Chief at DZone
              • Jos Poortvliet, ownCloud community manager
              • Mano Marks, director of developer relations at Docker, Inc.
              • Michael E. Meyers, the VP of Developer Relations at Acquia
              • Robin Muilwijk, Internet and e-government advisor
              • Seth Kenlon, independent multimedia artist, free culture advocate, and UNIX geek

            Thank you to everyone who contributed to the 2015 Open Source Yearbook.

            Best regards,

            Rikki Endsley

            Opensource.com community manager

            If you’re interested in contributing to the 2016 Open Source Yearbook, email us at open@opensource.com
            or submit your story idea: https://opensource.com/story

            Links
            [1]	History of the OSI (Open Source Initiative): https://opensource.org/history



 Open Source Yearbook 2015    .O   pensource.com                                                                        1
                .  ........
                  ... .. ...
C O N T E N T S .. .. .. ....
                             . .
W O R K I N G
                       ..............   ..
                              .............
        4 6 creative ways to use ownCloud
            Jos Poortvliet                                             13      10 cool tools from the Docker community
                                                                               Mano Marks
            Learn about six favorite uses for ownCloud, the open               Check out 10 cool tools that can help expand your
            source self-hosted storage platform.                               knowledge and use of Docker.

        6 6 useful LibreOffice extensions
            Italo Vignoli                                              15      5 handy Drupal modules
                                                                               Michael E. Meyers
            Extend the features in the already feature-packed                  Find out about five handy Drupal modules: Views,
            LibreOffice office suite with these six useful add-ons.            BigPipe, Rules, Features, and Lightning.

        8 5 favorite open source Django packages
            Jeff Triplett, Jacob Kaplan-Moss, and Frank Wiles         17      Top 5 open source frameworks every
                                                                               application developer should know
            Django contributors share their five favorite Django               John Esposito
            packages in 2015: Cookiecutter, Whitenoise, Django                 The DZone editor in chief picks five open source
            REST Framework, Wagtail, and django-allauth.                       frameworks every application developer should know.

        11 Facebook’s top 5 open source projects of 2015 20
            Christine Abernathy
                                                                               10 helpful tools for a sys admin’s toolbox
                                                                               Ben Cotton
            We round up Facebook’s top five open source projects               We highlight 10 sys admin tools that released new
            in 2015, measured by community activity and impact.                versions in 2015.




            Best Couple
            Best Couple of 2015: tar and ssh
                                                                                                      DAVID BOTH


                    22        Picking one Best Couple for the yearbook was no easy task. We explain
                              why the 2015 honor goes to an odd couple: tar and ssh.



COLL ABORATING
                                   ..............   ..
                                          .............
     24 Top 10 open source projects of 2015
            Jen Wike Huger                                            29 Diversity in open source highlights from 2015
                                                                            Cindy Pallares-Quezada
            Our editors flipped through our 2015 archives and               Diversity efforts received more attention in 2015. We
            picked 10 open source projects that were popular                round up a few of the highlights.
            with readers.
                                                                       31 2015 was a good year for creating the world’s

     26 Top 5 open source community metrics to track
            Jesus M. Gonzalez-Barahona
                                                                          ‘missing maps’ with OpenStreetMap
                                                                            Drishtie Patel
            Which project community metrics should you be                   The Missing Maps project launched in 2014. Learn
            tracking? We examine five metrics that provide a                about the progress the project made putting people
            multi-faceted view of your community.                           on the map using OpenStreetMap in 2015.


    2                                                                         Open Source Yearbook 2015       .O   pensource.com
LEARNING
                    ..............   ..
                           .............
   36         5 great Raspberry Pi projects for the classroom
              Ben Nuttall
                                                                               Most likely to succeed
              The Raspberry Pi is perfect for the classroom. Get
              started with these five great projects.
                                                                                          10 projects to
   38         3 open hardware projects for beginners
              Alicia Gibb
              The Lunchbox Electronics team picks three favorite
              projects and one open hardware book to keep you
                                                                                            fork in 2016
              learning and making.                                                                                             JASON BAKER

   39         Publisher’s picks: 29 open source books for 2015
              Rikki Endsley
                                                                                      34 Our Most Likely to Succeed honors go to
              Six publishers share picks for top 2015 open source-                       10 projects with enough momentum to
              related book releases.                                                           continue their success in the new year.

   47         8 books to make you a more open leader
              Bryan Behrenshausen
              If you’ve resolved to become a more open leader in
              2016, these books can help.


                                                                                CREATING
                                                                                                       ..............   ..
                                                                                                              .............
         Most Playful                                                       52         10 tools for visual effects in Linux
                                                                                       with Kdenlive

  Best open source                                                                     Seth Kenlon
                                                                                       We round up top tools and plugins to get the most

  games of 2015
                                                                                       out of video processing with Kdenlive.


                                            ROBIN MUILWIJK
                                                                           56          Adafruit’s best open source wearables
                                                                                       of 2015
                                                                                       Becky Stern
                                                                                       Adafruit picks favorite open source wearable
                                                                                       products and projects from 2015.
 50 Robin covered the world of open source
    gaming news in 2015. He picks a few
         favorite games to receive the year’s Most                         58          5 favorite 3D printing projects of 2015
                                                                                       Harris Kenny
                                                                                       We look at five of the top innovative 3D-printing-
         Playful honors.
                                                                                       related projects in 2015.




  60 Call for Papers / Editorial Calendar                                    61        7 Reasons to Write For Us / Follow Us


  All lead images by Opensource.com or the author under CC BY-SA 4.0 unless otherwise noted.


  Open Source Yearbook 2015         .O  pensource.com                                                                                       3
W O R K I N G
                      ..............   ..
                             .............

             6 creative
            ways to use
             ownCloud                         BY JOS POORTVLIET




     ownCloud                    is a self-hosted open source file
                                 sync and share server [1]. Like “big
     boys” Dropbox, Google Drive, Box, and others, ownCloud
                                                                         hard, but managing passwords is certainly a unique feature.
                                                                         There are no less than three apps providing this functional-
                                                                         ity: Passwords [7], Secure Container [8], and Passman [9].
     lets you access your files, calendar, contacts, and other
     data. You can synchronize everything (or part of it) between        3. Store your files where you want
     your devices and share files with others. But ownCloud              External storage allows you to hook your existing data stor-
     can do much more than its proprietary, hosted-on-some-              age into ownCloud, letting you to access files stored on FTP,
     body-else’s-computer competitors.                                   WebDAV, Amazon S3, and even Dropbox and Google Drive
        Let’s look at six creative things ownCloud can do. Some          through one interface.
     of these are possible because ownCloud is open source,                 (Watch Using Federated Cloud Sharing between own-
     whereas others are just unique features it offers.                  Cloud servers on YouTube to learn how to configure external
                                                                         storage in ownCloud Server 8.1. [10])
     1. A scalable ownCloud Pi cluster                                      The “big boys” like to create their own little walled gar-
     Because ownCloud is open source, you can choose be-                 dens—Box user can only collaborate with other Box users;
     tween self-hosting on your own server or renting space from         and if you want to share your files from Google Drive, your
     a provider you trust—no need to put your files at a big com-        mate needs a Google account or they can’t do much. With
     pany that stores it who knows where. Find some ownCloud             ownCloud’s external storage, you can break these barriers.
     providers [2] or grab packages or a virtual machine for your           A very creative solution is adding Google Drive and Drop-
     own server from our site [3].                                       box as external storage. You can work with files on both
        The most creative things we’ve seen are a Banana Pi clus-        seamlessly and share them with others through a simple
     ter [4] and a Raspberry Pi cluster [5]. Although ownCloud’s         link—no account needed to work with you!
     scalability is often used to deploy to hundreds of thousands
     of users, some folks out there take it in a different direction,    4. Get files uploaded
     bringing multiple tiny systems together to make a super-fast       Because ownCloud is open source, people contribute interest-
     ownCloud. Kudos!                                                   ing features without being limited by corporate requirements.
                                                                                                        Our contributors have always
                                      Installing ownCloud on a Banana Pi.
     2. Keep your                     Photo by Jörn Friedrich Dreyer. CC BY-SA 4.0.
                                                                                                        cared about security and pri-
     passwords synced                                                                                   vacy, so ownCloud introduced
     To make ownCloud easier                                                                            features such as protecting a
     to extend, we have made it                                                                         public link with a password and
     extremely modular and have                                                                         setting an expire date years
     an ownCloud app store [6].                                                                         before anybody else did [11].
     There you can find things like                                                                        Today, ownCloud has the
     music and video players, cal-                                                                      ability to configure a shared link
     endars, contacts, productivi-                                                                      as read-write, which means
     ty apps, games, a sketching                                                                        visitors can seamlessly edit
     app, and much more.                                                                                the files you share with them
        Picking only one app from                                                                       (protected with a password
     the almost 200 available is                                                                        or not) or upload new files to


     4                                                                               Open Source Yearbook 2015       .O   pensource.com
your server without be-
ing forced to sign up
to another web service
that wants their private
data. (See the Creating
a public upload folder in
ownCloud 8.1 tutorial
on YouTube. [12])
   This is great for when
people want to share
a large file with you.
Rather than having to
upload it to a third-par-
ty site, send you a link,
and make you go there
and download it (often
requiring a login), they
can just upload it to a
shared folder you pro-
vide, and you can get to work right away.                          Do you have other creative uses for ownCloud? Email your
                                                                   article proposals to open@opensource.com.
5. Get free secure storage
We already talked about how many of our contributors care          Links
about security and privacy. That’s why ownCloud has an app         [1]	ownCloud: https://owncloud.com/
that can encrypt and decrypt stored data.                          [2]	ownCloud providers: https://owncloud.org/providers/
  Using ownCloud to store your files on Dropbox or Google          [3]	ownCloud server instructions:
Drive defeats the whole idea of retaking control of your data            https://owncloud.org/​install/#instructions-server
and keeping it private. The Encryption app changes that. By        [4]	Installing ownCloud on a Banana Pi: http://www.owncluster.de/​
encrypting data before sending it to these providers and de-             2015/11/11/installing-owncloud-on-a-banana-pi/
crypting it upon retrieval, your data is safe as kittens.          [5]	Host your “ownCloud” on a Raspberry Pi cluster:
                                                                         https://christopherjcoleman.wordpress.com/2013/01/05/​
6. Share your files and stay in control                                  host-your-owncloud-on-a-raspberry-pi-cluster/
As an open source project, ownCloud has no stake in build-         [6]	ownCloud app store: https://apps.owncloud.com/
ing walled gardens. Enter Federated Cloud Sharing [13], a          [7]	Passwords: https://apps.owncloud.com/
protocol developed and published by ownCloud that enables          [8]	Secure Container: https://apps.owncloud.com/content/​
different file sync and share servers to talk to one another             show.php/Secure+Container?content=167268
and exchange files securely. Federated Cloud Sharing has           [9]	Passman: https://apps.owncloud.com/content/​show.php/​
an interesting history. Twenty-two German universities [14]              Passman?content=166285
decided to build a huge cloud for their 500,000 students.          [10]	Using Federated Cloud Sharing between ownCloud servers:
But as each university wanted to stay in control of the data             https://youtu.be/9-JEmlH2DEg
of their own students, a creative solution was needed: Fed-        [11]	ownCloud’s Latest Community Edition Adds Video
erated Cloud Sharing. The solution now connects all these                Streaming, and Easy Mounting of Third-Party Storage:
universities so the students can seamlessly work together. At            https://owncloud.com/owncloud45-community/
the same time, the system administrators at each university        [12]	Creating a public upload folder in ownCloud 8.1:
stay in control of the files their students have created and             https://youtu.be/3GSppxEhmZY
can apply policies, such as storage restrictions, or limitations   [13]	Announcing the draft Federated Cloud Sharing API:
on what, with whom, and how files can be shared.                         http://karlitschek.de/2015/08/announcing-the-draft-federated-​
   And this awesome technology isn’t limited to German                   cloud-sharing-api/
universities: Every ownCloud user can find their Federated         [14]	Sciebo: https://owncloud.com/customer/sciebo/
Cloud ID in their user settings and share it with others.
                                                                   Author
Conclusion                                                         Jos Poortvliet is a technology enthusiast and all-things-open
So there you have it. Six ways ownCloud enables people to          evangelist. He’s also community manager at ownCloud,
do special and unique things, all made possible because it         and a SUSE and KDE marketing veteran. Jos loves biking
is open source and designed to help you liberate your data.        through Berlin and cooking for friends and family.


Open Source Yearbook 2015      .O   pensource.com                                                                                    5
W O R K I N G
                     ..............   ..
                            .............

                    6 useful
                 LibreOffice
                 extensions                      BY ITALO VIGNOLI




                                                                      2. Alternative dialog Find & Replace for Writer
     LibreOffice                 is the best free office suite
                                 around, and as such has been
     adopted by all major Linux distributions. Although LibreOffice
                                                                          (AltSearch)
                                                                      The AltSearch extension [4] adds many new features to
     is already packed with features, it can be extended by using     Writer’s find & replace function: searched or replaced text
     specific add-ons, called extensions.                             can contain one or more paragraphs; multiple search and
        The main LibreOffice extensions website is extensions.li-     replacement in one step; searching: Bookmarks, Notes,
     breoffice.org [1]. Extensions are tools that can be added or     Text fields, Cross-references and Reference marks to their
     removed independently from the main installation, and may        content, name or mark and their inserting; searching and
     add new functionality or make existing functionality easier      inserting Footnote and Endnote; searching object of Table,
     to use.                                                          Pictures and Text frames according to their name; searching
                                                                      out manual page and column break and their set up or deac-
     1. MultiFormatSave                                               tivation; and searching similarly formatted text, according to
     MultiFormatSave [2] lets users save a document in the            cursor point. It is also possible to save and load search and
     OpenDocument, Microsoft Office (old and new), and/or             replacement parameters, and execute the batch on several
     PDF formats simultaneously, according to user settings.          opened documents at the same time.
     This extension is extremely useful during the migration
     from Microsoft Office document formats to the Open Doc-
     ument Format standard [3], because it offers the option to
     save in both flavors: ODF for interoperability, and Micro-
     soft Office for compatibility with all users sticking to lega-
     cy formats. This makes the migration process softer, and
     easier to administer.




                                                                      3. Pepito Cleaner
                                                                      Pepito Cleaner [5] is an extension of LibreOffice created to
                                                                      quickly resolve the most common formatting mistakes of old
                                                                      scans, PDF imports, and every digital text file. By clicking
                                                                      the Pepito Cleaner icon on the LibreOffice toolbar, users will
                                                                      open a window that will analyze the document and show the
                                                                      results broken down by category. This is extremely useful


     6                                                                           Open Source Yearbook 2015      .O  pensource.com
when converting PDF documents to ODF, as it cleans all the       6. Anaphraseus
cruft left in place by the automatic process.                    Anaphraseus [10] is a CAT (Comput-
                                                                 er-Aided Translation) tool for creating,
                                                                 managing, and using bilingual Trans-
                                                                 lation Memories. Anaphraseus is a
                                                                 LibreOffice macro set available as an
                                                                 extension or a standalone document. Orig-
                                                                 inally, Anaphraseus was developed to work with
                                                                 the Wordfast format, but it can also export and
                                                                 import files in TMX format. Anaphraseus main
                                                                 features are: text segmentation, fuzzy search
                                                                 in Translation Memory, terminology recognition,
                                                                 and TMX Export/Import (OmegaT translation
                                                                 memory format).




4. ImpressRunner
ImpressRunner [6] is a simple extension that transforms an
Impress [7] presentation into an auto-running file. The exten-
sion adds two icons, to set and remove the autostart func-
tion, which can also be added manually by editing the File |
Properties | Custom Properties menu, and adding the term
autostart in one of the first four text fields. This extension
is especially useful for booths at conferences and events,
where the slides are supposed to run unattended.

5. Export as Images                                              Links
The Export as Images extension [8] adds a File menu entry        [1]	LibreOffice extensions: http://extensions.libreoffice.org/
export as Images... in Impress and Draw [9], to export all       [2]	MultiFormatSave: http://extensions.libreoffice.org/exten-
slides or pages as images in JPG, PNG, GIF, BMP, and TIFF              sion-center/multisave-1
format, and allows users to choose a file name for exported      [3]	Open Document Format:
images, the image size, and other parameters.                          http://www.opendocumentformat.org/
                                                                 [4]	Alternative dialog Find & Replace for Writer (AltSearch):
                                                                       http://extensions.libreoffice.org/extension-center/alterna-
                                                                       tive-dialog-find-replace-for-writer
                                                                 [5]	Pepito Cleaner:
                                                                       http://pepitoweb.altervista.org/pepito_cleaner/index.php
                                                                 [6]	ImpressRunner: http://extensions.libreoffice.org/exten-
                                                                       sion-center/impressrunner
                                                                 [7]	Impress: https://www.libreoffice.org/discover/impress/
                                                                 [8]	Export as Images: http://extensions.libreoffice.org/exten-
                                                                       sion-center/export-as-images
                                                                 [9]	Draw: https://www.libreoffice.org/discover/draw/
                                                                 [10]	Anaphraseus: http://anaphraseus.sourceforge.net/

                                                                 Author
                                                                 Italo Vignoli is a founding member of The Document Foun-
                                                                 dation. He handles the organization’s PR and media rela-
                                                                 tions, coordinates its certification program, and is an interna-
                                                                 tional spokesman for the project. Italo has supervised some
                                                                 of the largest LibreOffice migration projects in Italy, and is a
                                                                 LibreOffice trainer.


Open Source Yearbook 2015     .O   pensource.com                                                                                     7
W O R K I N G
                     ..............   ..
                            .............

     5 favorite open source
     Django packages
                     BY JEFF TRIPLETT, JACOB KAPLAN-MOSS, AND FRANK WILES




     Django               [1] is built
                          around the
     concept of reusable apps [2]:
                                                                                                        So, we’ve seen the entire
                                                                                                     history of the Django project
                                                                                                     and community, and we’ve
     self-contained packages that                                                                    seen popular packages
     provide re-usable features.                                                                     come and go. Between the
     You can build your site by                                                                      three of us, we’ve probably
     composing these reusable                                                                        tried at least half of these
     apps, together with your own site-specific code. There’s a       8,000 apps personally, or we know someone who has. We
     rich and varied ecosystem of reusable apps available for         have a strong understanding of what makes an app solid and
     your use—PyPI lists more than 8,000 Django apps [3]—but          reliable, and we have a good understanding of what gives
     how do you know which ones are best?                             these things staying power.
        To help focus your app search, we’ve put together this list
     of our five favorites. They are:                                 Best way to start a new Django site: Cookiecutter
     • Cookiecutter: the best way to start a new Django site. [4]    Starting off a new project or app is always a bit of a pain. You
     • W hitenoise: the best static asset server. [5]                can use Django’s built in `startproject` but if you’re like us,
     • D jango Rest Framework: the best way to write REST            you’re particular in how you do things. Cookiecutter solves
        APIs with Django. [6]                                         this by giving you a quick and easy way to define project or
     • W agtail: the best Django-based content-management            app templates that can be easily reused. A quick example,
        system. [7]                                                   just `pip install cookiecutter` and then run this from the
     • d jango-allauth: the best way to provide “social login”       command line:
        (e.g., Twitter, Facebook, GitHub, etc). [8]
     We also recommend you check out Django Packages [9],             $ 
                                                                        cookiecutter https://github.com/marcofucci/
     a directory of reusable Django apps. Django Packages               cookiecutter-simple-django
     organizes Django apps into “grids” that allow you to com-
     pare similar packages and chose between them. You can            You’ll immediately start getting prompted for quick answers,
     see which features are offered by each package, as well          such as the name of your project, repo, author name, email,
     as usage statistics. (For example, the grid for REST tools       and a few other bits of configuration. These are used to help
     [10] might help you understand why we recommend Django           fill out the project details. We picked the ever so original ’foo’
     REST Framework.)                                                 to be our repo name. So cookiecutter created a simple Djan-
                                                                      go project in the subdirectory ’foo’.
     Why should you trust us?                                             If you poke around in the ’foo’ project a bit, you’ll see
     We’ve been using Django for longer than almost anyone.           the other bits of configuration you were prompted for have
     Two of us (Frank and Jacob) worked at the Lawrence Jour-         been templated into the files themselves along with sub-di-
     nal-World [11] (birthplace of Django) before Django was re-      rectories as necessary. This “template” is all defined at the
     leased (and in fact helped make the open source release          GitHub repo URL we used as the only argument when we
     happen). We’ve all spent the past eight years running a con-     called `cookiecutter`. This example used a remote GitHub
     sultancy that advises companies on how best to use Django.       repo as the template; however, note that you can use local


     8                                                                            Open Source Yearbook 2015        .O  pensource.com
file system directories as well, which is perfect for non-re-       • E asy integration of authentication styles, such as OAuth,
usable scenarios.                                                      Basic Auth, or API Tokens.
   We mention cookiecutter as a great Django package, but           • Simple permission system for fine-grained control of which
honestly it’s useful for plain Python or even non-Python-re-           users can use which API endpoints and/or actions.
lated purposes. Being able to lay things out exactly as you         • Built-in rate limiting.
like in an easily repeatable way makes cookiecutter a great         • Nearly automatic API documentation when combined with
tool for keeping your workflow DRY.                                    django-rest-swagger [16].
                                                                    • Extensive ecosystem of third-party libraries.
Best static asset server: Whitenoise                                Although you could certainly build an API without DRF, we
For many years, serving your site’s static assets—images,           can’t fathom a reason why you would start off down that
JavaScript, CSS—was a pain. The built-in django.views.              path. Even if you don’t use all of DRF’s features, building
static.serve view [12] is, as the documentation states, “not        up your own API views from their solid base view classes is
hardened for production use and should be used only as a            a huge win in terms of safety, consistency of your API, and
development aid.” But serving media from a “real” web serv-         development velocity. If you aren’t using DRF already, you
er, such as NGINX or out of a CDN, can be difficult to set up.      should set aside some time to check it out.
Whitenoise cleanly solves this problem. It’s as easy to set up
as the development-only static server, and is hardened and          Best Django-based CMS: Wagtail
optimized for production. Setup is simple:                          Wagtail is the current darling of the Django CMS world and
1. Make sure you’re using Django’s contrib.staticfiles app         with good reason. Like most CMS systems, it gives you flex-
    [13], and that you’ve correctly set `STATIC_ROOT` in            ibility to define different types of pages and their content via
    your settings file.                                             simple Django models. This takes you from zero to a basi-
2. Enable Whitenoise in your `wsgi.py` file:                       cally working system in hours, not days. To give you a quick
                                                                    example, to define a Staff page type for people at your com-
   from django.core.wsgi import get_wsgi_application                pany can be as simple as:
   from whitenoise.django import DjangoWhiteNoise
   application = get_wsgi_application()                             from wagtail.wagtailcore.models import Page
   application = DjangoWhiteNoise(application)                      from wagtail.wagtailcore.fields import RichTextField
                                                                    fr
                                                                      om wagtail.wagtailadmin.edit_handlers import
That’s really all it takes! For large applications, you’ll likely     FieldPanel, MultiFieldPanel
want to use a dedicated media server and/or a CDN, but              fr
                                                                      om wagtail.wagtailimages.edit_handlers import
for most small- or medium-sized Django sites, Whitenoise is           ImageChooserPanel
more than powerful enough.                                          class StaffPage(Page):
  For more information on Whitenoise, check out the docu-               name = models.CharField(max_length=100)
mentation [14].                                                         hire_date = models.DateField()
                                                                        bio = models.RichTextField()
Best Tool for REST APIs: Django REST Framework                          email = models.EmailField()
REST APIs are quickly becoming a standard feature of mod-               he
                                                                          adshot = models.ForeignKey(‘wagtailimages.Image’,
ern web applications. An API is really simply talking in JSON               null=True, blank=True)
rather than HTML, and of course you can do this with just               content_panels = Page.content_panels + [
Django. You can craft your own views that set the proper                     FieldPanel(‘name’),
content types and return data in JSON rather than templat-                   FieldPanel(‘hire_date’),
ed HTML responses. This is exactly what many people did                      FieldPanel(‘email’),
before API frameworks such as Django Rest Framework                          FieldPanel(‘bio’, classname=”full”),
(a.k.a., DRF) [6] were released.                                             ImageChoosePanel(‘headshot’),
   Building a REST API with DRF is similar to working with              ]
Django’s Class Based Views if you’re familiar with them, except
these are specifically designed and targeted around an API use      The real appeal of Wagtail, however, is in its easy-to-use
case. Quite a bit of code is involved in your average API setup,    modern admin interface and flexibility. You can control
so instead of a code sample to get you excited, we’ll highlight     which types of pages are allowed in different areas of the
some of DRF’s features that make your life easier:                  site, add additional complex logic to your pages, and get
• Automatic browseable API, which makes development and            standard moderation/approval workflows right out of the
   manual testing a breeze. Click around in the DRF demo            box. With most CMS systems, at some point you run into
   example [15]. You can view API responses and support             a wall you can work around. With Wagtail, we have yet to
   POST/PUT/DELETE type operations without having to do             find a wall we couldn’t easy find a door through to make
   anything yourself.                                               it do exactly what we want in an easy and maintainable


Open Source Yearbook 2015       .O  pensource.com                                                                                 9
W O R K I N G
                     ..............   ..
                            .............
     way. If you’re interested, we wrote up a deeper dive into        to work, too. This is nice for anyone with custom authen-
     Wagtail [17].                                                    tication needs.
                                                                         django-allauth is easy to setup and has extensive docu-
     Best Social Login Tool: django-allauth                           mentation. The project is also well tested so you know that
     django-allauth [18] is a reusable Django application that        everything actually works.
     solves your registration and authentication needs. Whether
     you need a local or social registration system, django-allauth   Authors
     has you covered.                                                 Jeff Triplett has worked at the Lawrence Journal-World in
        The project supports multiple authentication schemes,         Lawrence, KS, where Django was invented. He now works
     such as user name or email address. Once a user has signed       at Revolution Systems (Revsys) as a developer and a con-
     up, multiple strategies are supported for account verification   sultant. Jeff is a co-founder of the Django Events Foun-
     ranging from none to email verification. Multiple social and     dation North America (DEFNA) and Conference Chair for
     email accounts are also supported. Pluggable signup forms        DjangoCon US 2015 and 2016.
     are also supports which allows asking additional questions
                                                                      Jacob Kaplan-Moss is a core contributor to Django and
     during registration.
                                                                      works at Heroku as Director of Security.
        django-allauth supports more than 20 authentica-
     tion providers, including Facebook, GitHub, Google,              Frank Wiles is President and Founder of Revolution Sys-
     and Twitter. If you have an account on a social website          tems, a open source consultancy specializing in performant
     that’s not supported, then it’s most supported through a         and large scale Python, Django, PostgreSQL, and related
     third-party add-on. The project supports writing custom          web infrastructure. He is a frequent author and speak-
     backends, which allows custom authentication systems             er on open source topics. Frank’s personal homepage is
                                                                      frankwiles.com.

     Links
     [1]	Django: https://www.djangoproject.com/                      [11]	Lawrence-born Django celebrates 10th anniversary:
     [2]	How to write reusable apps: https://docs.djangoproject.           http://www2.ljworld.com/news/2015/jul/09/happy-birth-
           com/en/1.8/intro/reusable-apps/                                  day-django/
     [3]	PyPi packages: https://pypi.python.org/pypi?:ac-            [12]	django.views.static.serve view: https://docs.djangoproject.
           tion=browse&c=523                                                com/en/1.8/ref/views/#django.views.static.serve
     [4]	Cookiecutter: https://github.com/audreyr/cookiecutter       [13]	staticfiles app: https://docs.djangoproject.com/en/1.8/ref/
     [5]	Using WhiteNoise with any WSGI application:                       contrib/staticfiles/
           https://github.com/audreyr/cookiecutter                    [14]	Whitenoise documentation:
     [6]	Django Rest Framework:                                            http://whitenoise.evans.io/en/latest/index.html
           http://www.django-rest-framework.org/                      [15]	DRF demo example: http://restframework.herokuapp.com/
     [7]	Wagtail: https://wagtail.io/                                [16]	Django REST Swagger: http://django-rest-swagger.
     [8]	django-allauth:                                                   readthedocs.org/en/latest/index.html
           http://www.intenct.nl/projects/django-allauth/             [17]	Get ready for Wagtail, the best Django CMS yet:
     [9]	Django Packages: https://www.djangopackages.com/                  https://opensource.com/business/15/5/wagtail-cms
     [10]	Grid for REST tools:                                       [18]	django-allauth documentation:
           https://www.djangopackages.com/grids/g/rest/                     http://django-allauth.readthedocs.org/en/latest/




     10                                                                           Open Source Yearbook 2015       .O   pensource.com
                                                                                      ....................      W O R K I N G




                                                        Facebook’s top
                                                         5 open source
                                                       projects of 2015                             BY CHRISTINE ABERNATHY



Facebook                 believes in the power of open source.
                         When a community gathers to work
on code, there are a host of benefits. Fresh eyes point out
problems and we arrive at solutions faster. Together we tackle
the challenges we’re facing, innovation accelerates, and the
community stretches the limitations of existing technology.
  Of course, a successful open source program depends on
a strong, collaborative community. As the end of the year ap-
proaches, we wanted to reflect on Facebook’s top five open
source projects in 2015, measured by community activity
and impact.

HipHop Virtual Machine (HHVM)                                    community, including a 75% increase in the number of com-
HHVM [1] is our virtual machine and web server that we           mits and a 198% increase in the number of forks. React is
open sourced in 2013, building on the HPHPc compiler we          Facebook’s JavaScript library for building user interfaces,
released in 2010. In the past year alone, we’ve seen a 29%       and is being used by many companies because it takes a
increase in the number of commits and a 30% increase in          different approach to building applications: React allows you
the number of forks.                                             to break the application down into separate components that
   HHVM is most commonly run as a standalone server,             are decoupled so that the various components can be main-
replacing both Apache and mod_php, designed to execute           tained and iterated on independently.
programs written in Hack and PHP. It uses a just-in-time         This year we had two major releases, launched React Na-
compilation approach to achieve superior performance,            tive, announced new developer tools [8], and saw more
while maintaining the flexibility that PHP developers are ac-    companies—including Netflix [9] and WordPress [10]—use
customed to. We’ve reached great milestones in 2015:             React to build their products.
1. We made new Async features [2] available by default, in-
    cluding Async MySQL [3] and MCRouter [4] (memcached)         Presto
    support.                                                     Presto [11] is our distributed SQL engine for running interac-
2. In December we announced [5] support for all major PHP       tive analytic queries against data sources of all sizes, rang-
    7 features at the same time that the language itself was     ing from gigabytes to petabytes. We created Presto to help
    released, and we released our next generation of user        us analyze data faster because our data volume grew and
    documentation.                                               the pace of our product cycle increased.
3. Box announced [6] HHVM as the exclusive engine that              Since making Presto available to others in November
    serves its PHP codebase.                                     2013, we’ve seen a lot of growth, adoption, and support for
4. Etsy migrated to HHVM in April, which helped the compa-      it, including a 48% increase in the number of commits and a
    ny address a variety of challenges associated with build-    99% increase in the number of forks in the past year. Com-
    ing mobile products at the scale needed.                     panies like Airbnb [12], Dropbox, and Netflix [13] use Presto
                                                                 as their interactive querying engine. We also see growing
React                                                            adoption all over the world, including by Gree [14], a Jap-
Facebook open sourced React [7] in May 2013, and in the          anese social media game development company, and Chi-
past year we’ve continued to see strong collaboration in the     nese e-commerce company JD.com.


Open Source Yearbook 2015     .O   pensource.com                                                                            11
W O R K I N G
                     ..............   ..
                            .............
        In 2015, Teradata announced [15] plans to join the Pres-       Links
     to community, with a focus on enhancing enterprise features       [1]	HipHop Virtual Machine (HHVM):
     and providing support. This emphasizes the level of trust the           https://github.com/facebook/hhvm
     community has in Presto’s ability to be an integral part of the   [2]	Async introduction:
     data infrastructure stack. Additionally, Amazon Web Services            https://docs.hhvm.com/hack/async/introduction
     (AWS) supports Presto as a first-class offering in its EMR ser-   [3]	Async MySQL extention:
     vice [16], with many production users—including Nasdaq and              https://docs.hhvm.com/hack/async/extensions
     leading business intelligence tool vendor MicroStrategy—sup-      [4]	MCRouter extention:
     porting Presto in its flagship MicroStrategy 10 product.                https://docs.hhvm.com/hack/async/extensions#mcrouter
                                                                       [5]	Improved user documentation announcement:
     RocksDB                                                                 http://hhvm.com/blog/10925/improved-user-documentation
     We open sourced RocksDB [17], an embeddable, persistent           [6]	Box’s HHVM migration:
     key-value store for fast storage, in November 2013. Aside               https://code.facebook.com/posts/1607907626123431/un-
     from the impressive 52% increase in the number of commits               der-the-hood-box-s-hhvm-migration/
     and the 57% increase in the number of forks for this project in   [7]	React: https://github.com/facebook/react
     the past year, the reason this particular project has resonated   [8]	New React Developer Tools:
     so well in the open source community is that the embedded               https://facebook.github.io/react/blog/2015/09/02/new-re-
     database helps provide a way to work around slow query re-              act-developer-tools.html
     sponse time due to network latency, and it is flexible enough     [9]	Netflix Likes React:
     to be customized for various emerging hardware trends.                  http://techblog.netflix.com/2015/01/netflix-likes-react.html
        RocksDB powers critical services at companies such as          [10]	The Story Behind the New WordPress.com:
     LinkedIn and Yahoo, and a key focus for us in 2015 was to               https://developer.wordpress.com/2015/11/23/the-story-be-
     bring the RocksDB storage engine to general-purpose da-                 hind-the-new-wordpress-com/
     tabases, starting with MongoDB. Similar to Teradata’s com-        [11]	Presto: https://github.com/facebook/presto
     mercial support for Presto, another milestone for RocksDB in      [12]	Introducing Airpal: http://nerds.airbnb.com/airpal/
     2015 was the announcement of enterprise-level support by          [13]	Using Presto in our Big Data Platform on AWS:
     Percona’s [18] data performance experts.                                http://techblog.netflix.com/2014/10/using-presto-in-our-big-
                                                                             data-platform.html
     React Native                                                      [14]	A year of using Presto in production:
     React Native [19], one of our newest open source projects,              http://labs.gree.jp/blog/2014/12/12838/
     was made available in March 2015. React Native lets engi-         [15]	Open-Source Presto to the Enterprise:
     neers use the same React methodology and tools to rap-                  http://blogs.teradata.com/data-points/bring-
     idly build native applications for mobile devices. In addition          ing-open-source-presto-enterprise/
     to developing these tools internally, Facebook collaborates       [16]	Presto on Amazon EMR:
     with the open source community to improve the experience                https://aws.amazon.com/elasticmapreduce/details/presto/
     for developers worldwide. In its first year, React Native has     [17]	RocksDB: https://github.com/facebook/rocksdb
     become the second most popular Facebook open source               [18]	Percona: https://www.percona.com/
     project, with more than 23,000 followers in GitHub. It was        [19]	React Native:
     used internally to build the Facebook Ads app for both iOS              https://github.com/facebook/react-native
     and Android, resulting in an 85% code reuse by developers
     whose core competency was JavaScript. The paradigm shift          Author
     in mobile development that React Native brings to the table       Christine Abernathy is a developer advocate on the open
     makes this one a key highlight of 2015.                           source team at Facebook. She’s held previous developer ad-
        Overall, we still have a lot of work to do, but we’re proud    vocacy roles on both Parse and Facebook Platform. Prior to
     of what we’ve been able to accomplish as a community. We          working at Facebook, Christine lead engineering at MShift,
     want to thank everyone who dedicated time to to these proj-       a mobile banking software provider delivering iOS apps and
     ects and helped us make 2015 a great year!                        mobile browser-based products.




     12                                                                            Open Source Yearbook 2015        .O  pensource.com
                                                                                      ....................       W O R K I N G




                                                         10 cool tools
                                                      from the Docker
                                                          community
                                                                                                             BY MANO MARKS




Looking back                      at 2015, there have been
                                  many projects created by
the Docker community that have advanced the developer
                                                                tainers required when distributed across the Internet. Specif-
                                                                ically, this tool enables developers to use Docker labels [8] to
                                                                create metadata within the domain of container technology,
experience. Although choosing among all the great contri-       to check labels against official label schema and to validate
butions is hard, here are 10 “cool tools” that you should be    against provided JSON schema.
using if you are looking for ways to expand your knowledge
and use of Docker.                                              4. Dvol
                                                                Dvol [9] enables version control for your development
1. Container Migration Tool (CMT)                               databases in Docker. Dvol lets you commit, reset, and
CMT [1] was a winning entry [2] at the Docker Global Hack       branch the containerized databases running on your lap-
Day #3. The Container Migration team [3] drew inspiration       top, so you can easily save a particular state and come
from a DockerCon talk in which Michael Crosby (@crosby-         back to it later. Dvol can also integrate with Docker Com-
michael) and Arnaud Porterie (@icecrime) migrated a Quake       pose to spin up reproducible microservices environments
3 container around the world, demonstrating container migra-    on your laptop.
tion while maintaining a TCP connection. The CMT project
created an external command-line tool that can be either used   5. IPVS Daemon GORB
with Docker or runC [4] to help “live migrate” containers be-   Presented at DockerCon EU, IP Virtual Server (IPVS) for
tween different hosts by performing pre-migration validations   Docker containers enables production-level load balanc-
and allowing it to auto-discov-                                                               ing and request routing using
er suitable target hosts.                                                                     open source IPVS, which has
                                                                                              been part of the Linux ker-
2. Dockercraft                                                                                nel for more than a decade.
We had to add in a fun                                                                        It supports TCP, SCTP, and
one—Dockercraft [5]! Lots of                                                                  UDP and can achieve fast
Docker users run custom Mi-                                                                   speeds, often within five
necraft [6] servers in contain-                                                               percent of direct connection
ers. But Dockercraft is a Mi-                                                                 speeds. Other features in-
necraft client to visualize and                                                               clude NAT, tunneling, and
manage Docker containers.                                                                     direct routing. To make IPVS
With the flick of a switch, a                                                                 easier to use, the Go Routing
container turns on or off. And                                                                and Balancing (GORB) dae-
with the press of a button, you can destroy one. Dockercraft    mon [10] was created as a REST API inside a Docker con-
is a fun project—that is surprisingly addictive—from Docker     tainer to provide IPVS routing for Docker.
engineers Adrien Duermael and Gaetan de Villele.
                                                                6. Libnetwork
3. Docker Label Inspector                                       Libnetwork [11] combines networking code from both libcon-
The Docker Label Inspector [7] tool helps ensure that devel-    tainer and Docker Engine to create a multi-platform library
opers are providing Docker images with the metadata con-        for networking containers. The goal of libnetwork is to deliver


Open Source Yearbook 2015     .O  pensource.com                                                                              13
W O R K I N G
                     ..............   ..
                            .............
     a robust Container Network Model that provides a consistent        10. Wagl, DNS service discovery for Swarm
     programming interface and the required network abstrac-            Wagl [20] is a DNS server that allows microservices running
     tions for applications. There are many networking solutions        as containers on a distributed Docker Swarm [16] cluster to
     available to suit a broad range of use-cases. Libnetwork uses      find and talk to each other. Wagl is minimalist and works as a
     a driver/plugin model to support all of these solutions, while     drop-in container in your cluster to provide DNS-based ser-
     abstracting the complexity of the driver implementations by        vice discovery and simple load balancing by rotating a list of
     exposing a simple and consistent Network Model to users.           IP addresses in DNS records.

     7. The Raspberry Pi Challenge                                      Links
     In the DockerCon closing keynote [12], Dieter Reuter from          [1]	Container migration tool:
     Hypriot presented a demo running 500 Docker containers                   https://github.com/marcosnils/cmt
     on a Raspberry Pi 2 device. Convinced that this number of          [2]	Container migration tool (CMT) (YouTube video):
     containers could be at least doubled, Dieter then challenged             https://youtu.be/pwf0-_cs6U4
     [13] the Docker community to beat his personal record. As          [3]	Participating in Docker global hackday #3 (blog post):
     part of his project, Dieter Reuter demonstrated how to get               http://blog.mantika.io/GHD/
     started with Docker on Raspberry Pi and how to scale the           [4]	runC: https://runc.io/
     number number of web servers running in containers that            [5]	Dockercraft: https://github.com/docker/dockercraft
     could reside on a single Raspberry Pi 2. The current record        [6]	Minecraft: https://minecraft.net/
     is more than 2,500 web servers running in containers on a          [7]	Docker Label Inspector:
     single Raspberry Pi 2.                                                   https://github.com/garethr/docker-label-inspector
                                                                        [8]	Docker labels:
     8. Scaling Spark with Zoe analytics                                      https://docs.docker.com/engine/userguide/labels-cus-
     The Zoe open source user-facing tool [14] ties together                  tom-metadata/
     Spark [15], a data-intensive framework for big data computa-       [9]	dvol: https://github.com/ClusterHQ/dvol
     tion, and Docker Swarm [16]. Zoe can execute long-running          [10]	Go Routing and Balancing (GORB):
     Spark jobs, but also Scala or iPython interactive notebooks              https://github.com/kobolog/gorb
     and streaming applications, covering the full Spark develop-       [11]	libnetwork: https://github.com/docker/libnetwork
     ment cycle. When a computation is finished, resources are          [12]	DockerCon 2015 Videos: Day 2 Closing Keynote – What’s
     automatically freed and available for other uses, because all            Next for Docker?: http://blog.docker.com/2015/07/docker-
     processes are run in Docker containers. This tooling can en-             con-2015-videos-day-2-closing-keynote/
     able application scheduling on top of Swarm and optimized          [13]	Raspberry Pi Challenge:
     container placement.                                                     https://github.com/hypriot/rpi-kernel
                                                                        [14]	Zoe: https://github.com/DistributedSystemsGroup/
     9. Unikernel demo source code                                            zoe-docker-images
     First unveiled as a cool hack at DockerCon EU (Unikernels,         [15]	Apache Spark: http://spark.apache.org/
     meet Docker! [17]), this demo [18] showed how unikernels can       [16]	Docker Swarm: https://docs.docker.com/swarm/
     be treated as any other container. In this demo, Docker was        [17]	Unikernels, meet Docker!:
     used to build a unikernel microservice and then followed up              http://unikernel.org/blog/2015/unikernels-meet-docker/
     by deploying a real web application with database, webserver,      [18]	Contain Your Unikernels!:
     and PHP code, all running as distinct unikernel microservices            http://unikernel.org/blog/2015/contain-your-unikernels/
     built using Rump Kernels [19]. Docker managed the uniker-          [19]	Rump Kernels: http://rumpkernel.org/
     nels just like Linux containers, but without needing to deploy a   [20]	wagl: https://github.com/ahmetalpbalkan/wagl
     traditional operating system. Apart from the MySQL, NGINX,
     and PHP with Nibbleblog unikernels shown in the demo, this         Author
     repository also contains some examples of how to get started.      Mano Marks is Director of Developer Relations at Docker, Inc.




     14                                                                            Open Source Yearbook 2015      .O   pensource.com
                                                                                       ....................      W O R K I N G




                                                                5 handy
                                                         Drupal modules                                 BY MICHAEL E. MEYERS




                                                                                                 Views
Drupal            [1], one of the
                  largest open
source projects in the world,
                                                                                                  Views [2], one of the most
                                                                                                  popular contributed Drupal
is a content management sys-                                                                      modules, enables site build-
tem and application frame-                                                                        ers, content editors, and oth-
work that powers millions of                                                                      er non technical users to sur-
websites, web services, and                                                                       face information from within
mobile applications. Individu-                                                                    Drupal—or other systems
als and organizations in every                                                                    through Drupal—and display
sector use Drupal for every-                                                                      and visualize that information
thing from simple blogs and micro-sites, to complex intranets     through a point and click interface. With Views you can cre-
and private internal applications, to some of the largest sites   ate a new page that lists all recent updates to your site, a
on the web, including several top 100 properties.                 sidebar block that shows the five most recent comments
   More than 3,000 people contribute to the core Drupal           on your website, a slideshow of your most popular images
codebase that provides a base level of functionality with a       of the week, and much more. Views can be dynamic, end
modular architecture. Over 10,000 developers contribute and       users can have access to control resorting or filtering the
maintain more than 25,000 contributed open source mod-            information (by date or other parameters), and privileged
ules that modify and extend the core capabilities, changing       users can be granted the ability to perform bulk actions on
behavior, adding new features, and integrating Drupal with        Views. For example, on a site with moderated comments,
other systems. Users can add their own modules, as well as        admins can create a page where users can quickly select
third-party PHP libraries, and leverage a lot of existing func-   all the comments they want to approve or reject, and do so
tionality, so they can focus on their unique needs, branding      in bulk to save a lot of time. As of Drupal 8, Views is now a
and design, and business logic to get up and running quickly.     part of Drupal Core and has expanded capabilities so users
In addition to its highly extensible codebase, Drupal lets us-    can build custom admin pages, export any View as JSON
ers who are not programmers manage and control a lot of           or XML, and build most of a site—or the back-end for a mo-
how the platform and their site(s) run and operate through        bile application—without writing a line of code.
point and click end-user interfaces. This enables more peo-
ple to contribute to an organization’s online presence, and       BigPipe
site updates happen significantly faster because Drupal us-       Site speed is a critical goal for all websites and companies.
ers aren’t reliant on expensive and limited development re-       The BigPipe [3] concept was created by Facebook and was
sources, or updating code.                                        a key component in doubling the speed of their site page
   The newest major version of Drupal, version 8, came            load times. BigPipe is a contributed module for Drupal 8
out in November 2015, so let’s look at a few of my fa-            that leverages Facebook’s methodology and delivers web
vorite contributed modules. Whether you’re running one            pages from servers to clients in a way that allows dramat-
Drupal website, or thousands, here are five modules that          ically improved perceived load time as well as the actual
will empower your entire team and drive the success of            page load time of sites. With BigPipe the server will send
your application:                                                 an initial response or page with the cacheable components


Open Source Yearbook 2015      .O  pensource.com                                                                             15
W O R K I N G
                     ..............   ..
                            .............
     and place holders for any dynamic or uncacheable parts,          Lightning
     and then stream in the dynamic/personalized pieces to re-        Lightning [6] isn’t actually a module; it’s a collection of Drupal
     place the placeholders.                                          modules provided as a distribution. Drupal distributions are
                                                                      a way to package up and distribute a Drupal site (modules,
     Rules                                                            themes, configurations, automated QA tests, content, etc.).
     Rules [4] is a contributed module that enables site users to     Launching a new website can be done quickly by deploying
     create Event, Condition, Action (ECA) rules. Site builders       a distribution for a specific use case, and then adding any
     can create and modify fairly complex business logic without      customizations required. The Lightning distribution is meant
     writing any code, and developers have tremendous flexibil-       to be a framework that you build on top of—it provides you
     ity to create complex rules, and to extend and modify the        with pre-configured popular modules that work well togeth-
     behavior of the Rules module itself. For example, when a         er for common use cases, with the ability to disable what
     new comment is posted to a page (an event), a site builder       you don’t need, and launch a new site on Drupal using best
     could create a rule that sends an email notifying the author     practices for the most common needs. Lightning helps new
     of the page (the action) of the new comment so they can re-      users advance through the learning curve much faster, and
     view and respond quickly. Optionally, users can add a con-       enables all users to rapidly deploy new sites.
     dition to send the email only if the comment author is not          What are your favorite Drupal modules? From the ob-
     the author of the page (so the page author doesn’t get an        scure problem solvers, to the ones you simply can’t live
     email every time they reply to a comment). Many rules can        without, share your story and send Drupal article proposals
     also be triggered manually via the click of a button (e.g., by   to open@opensource.com.
     a site admin) or, via the Rules API, actions can be set to run      Disclosure: In partnership with Acquia, OpenSource.com
     immediately or scheduled.                                        and Red Hat are Drupal users and open source contributors
                                                                      to the Drupal project.
     Features
     Most organizations write code and make changes to their          Links
     web sites in one or more development environments, then          [1]   Drupal: https://www.drupal.org/
     integrate and test these changes in QA or staging environ-       [2]   Views: https://www.drupal.org/project/views
     ments, and finally release approved changes to their pro-        [3]   BigPipe: https://www.drupal.org/project/big_pipe
     duction or live environment. Furthermore, few organizations      [4]   Rules: https://www.drupal.org/project/rules
     have a single website; nowadays even individuals run many        [5]   Features: https://www.drupal.org/project/features
     websites, and large organizations can have more than             [6]   Lightning: https://www.drupal.org/project/lightning
     10,000 sites. Features [5] is a contributed module that en-
     ables you to import and export configuration and or code as      Author
     a package or collection that you can move across Drupal          Michael E. Meyers is the VP of Developer Relations at Acquia.
     sites. For example, site builders could create a rule using      He’s been driving innovation in the Drupal community for more
     the Rules module and then using Features, export the rule        than a decade. Prior to joining Acquia, Michael was the CTO
     so that it can be imported into the many other environments      of Examiner.com, a top 50 site, and the leading contributor to
     and web sites you have.                                          Drupal 7. Follow Michael on Twitter @MichaelEMeyers.




     16                                                                            Open Source Yearbook 2015        .O  pensource.com
                                                                                             ....................        W O R K I N G




                                   Top 5 open source
                                    frameworks every
                                 application developer
                                          should know                                                              BY JOHN ESPOSITO



Software                 has been eating the world for far lon-
                         ger than four years [1]. But develop-
ers think of software a little differently. Insofar as we’re solv-
ing real-world problems [2], we’re not thinking mainly of the
metal [3]. And as the problems get bigger and the solutions
more complex, pragmatic (and not-too-leaky) abstractions
become more important than ever.
   The upshot: From a productivity-oriented developer’s point
of view, frameworks are eating the world. But which ones are
eating how much of which parts of the world?
   Given the insane variety of superb open source frame-
works available, I picked our top 5 open source frameworks
of 2015 not from a single ranked order, but from all levels
of the stack. (For front-ends, I focused on the web and, still       The team even launched an official Bootrap Themes mar-
more narrowly, true client-side frameworks—simply because            ketplace [10], complementing an already massive theme
browsers and mobile devices are growing increasingly ca-             ecosystem.
pable, and because SPAs [single page applications] and the
like avoid sending data over the wire unnecessarily.)                2. Web MVC: AngularJS
                                                                     As the web platform continues to mature, developers en-
1. Presentation: Bootstrap                                           joy increasingly well-crafted abstraction-distance from the
Let’s start at the top of the stack: the presentation layer,         still-markup-colored DOM. The work begun by XMLHttpRe-
the stuff developers and us folks both touch. Here the clear         quest reaches its zenith in modern Single-Page Applica-
winner remains Bootstrap [4]. The forecast looks outstand-           tions (SPAs), and the most popular SPA framework by far
ing, leaving old alternatives, such as Foundation [5], and           is AngularJS [11].
new kids, such as Material Design Lite [6], in the dust [7].            What’s so special about AngularJS? In a word: direc-
Bootstrap dominates usage trends on BuiltWith [8], and on            tives [12]. Just a little ng- can bring a (static, markup) tag
GitHub remains easily the most starred and most forked               to (dynamic, JavaScript-executing) life. (Dependency in-
framework of all time.                                               jection is pretty neat, too, and like many of Angular’s fea-
   And Bootstrap is still under active development. In Au-           tures aims to simplify maintenance and abstract more fully
gust 2015, Bootstrap celebrated its fourth birthday with             from the DOM.)
version 4 alpha release [9], a major simplification and ex-              The basic principle is just the perfectly reasonable sepa-
pansion of an already powerful feature set. The gist of              ration of declarative view from imperative domain logic, fa-
the update: Everything got more programmatic. Bootstrap              miliar to anyone who has scanned a POM file or wrestled
moved from Less to Sass, centralized all HTML resets in a            with an ORM (and hey, some of us used to enjoy XAML, too).
single module, tossed a load of style customizations direct-         This is thrilling, liberating, and a little weird all at once—giving
ly into Sass variables, and ES6-ified all JavaScript plugins.        HTML power it kinda really shouldn’t have.


Open Source Yearbook 2015       .O   pensource.com                                                                                    17
W O R K I N G
                     ..............   ..
                            .............
        Perhaps a bit sadly, the most aggressive concept behind          distributed batch processing job structures, then wrote a
     AngularJS—two-way data binding, which effortlessly keeps            famous paper [18] about it; then some Yahoo folks wrote
     views and models synced—is going away in Angular2 [13],             a Java framework (Hadoop [19]) that implemented Map­
     which is “very close” to beta release [14]. So a bit of the         Reduce and a distributed file system [20] to simplify data
     magic will disappear, but so will some massive performance          access for MapReduce tasks.
     headaches at scale and some hair-pullingly tough debug-                For nearly a decade Hadoop dominated the “Big Data”
     ging (just think about two-way for a moment and feel the cliff      framework ecosystem, despite the limited problem space ad-
     drop out from under your feet)—a trade off that grows more          dressed (optimally) batch processing—partly because busi-
     valuable as page size and SPA complexity balloon.                   ness and scientific users were accustomed to batch analysis
                                                                         of large datasets anyway. But not all large datasets are op-
     3. Enterprise Java: Spring Boot                                     timally processed in batches. In particular, streaming data
     What’s so great about Java? Fast, mature, comprehensive             (such as sensor inputs) and data analyzed iteratively (like
     class library, gigantic ecosystem, write-once-run-every-            machine learning algorithms love to do) don’t like batch pro-
     where, active community—but not painless bootstrapping.             cessing. So dozens of new Big Data frameworks were born,
     Even hard-core Java developers resort to Ruby or Python             new programming models, application architectures [21],
     to write quick one-off programs (admit it). And yet Java con-       and data stores [22] gained traction (including a new cluster
     tinues to dominate the enterprise for those other reasons           management system [23], decoupled from MapReduce, for
     listed above.                                                       Hadoop itself).
        Enter Spring Boot, the boilerplate evaporator—a framework           But of all these new frameworks, Apache Spark [24] (de-
     that lets you fit a working Spring application in a single tweet:   veloped at Berkeley’s AMPLab) is the easy-choice 2015
                                                                         standout. Surveys (DZone report [25]; Databricks infograph-
                                                                         ic [26]; Typesafe report [27]) show huge growth in Spark
                                                                         adoption. GitHub commits have been growing linearly since
                                                                         2013, and Google Trends showsexponential (yes, literally)
                                                                         growth in searches over 2015 [28].
                                                                            So Spark is popular. But what does it do? Well, very fast
                                                                         batch processing; but this depends on one killer feature that
                                                                         allows for vastly more programming models than Hadoop.
                                                                         Spark makes data available in Resilient Distributed Datasets
                                                                         (RDDs) that remain in memory on multiple nodes after pro-
                                                                         cessing, but without replication (by storing info on how to
                                                                         recreate; compare to CQRS [29],pragmaticism [30], Kolm-
                                                                         ogorov complexity [31]). This (obviously) lets algorithms to
                                                                         iterate without reloading from a (s)lower rung in the distrib-
                                                                         uted memory hierarchy. And this means that batch process-
                                                                         ing need no longer suffer the indignity of the “long stroke”
                                                                         of Nathan Marz’s lambda architecture. RDDs even allow
                                                                         Spark to simulate true (push) stream processing by running
        No unpleasant XML config, no sloppy generated code.              small batch jobs fast enough to keep latency within “effective
     How is this possible? Simple: Spring Boot has some pretty           streaming” bounds for many applications.
     strong opinions. Read that tweet above and suddenly it all
     makes sense! When you realize that the framework auto-              5. Delivery: Docker
     matically spins up an embedded servlet container to han-            Okay, so Docker [33] isn’t a “framework” in the sense of
     dle incoming requests on port 8080—a decision you didn’t            “code library, generously defined, that imposes a specific set
     explicitly configure it to make, but a conventional (and fire-      of conventions to solve large and recurrent problem sets”.
     wall-friendly) call.                                                But if frameworks are just things that let you write code at a
        How hot is Spring Boot? It’s by far the most forked [15] and     more suitable level of abstraction, then Docker is a frame-
     most downloaded Spring project (not counting the master             work extraordinaire. (Let’s call it an exoskeletal framework,
     framework itself). And in 2015, for the first time, Google          just to mix metaphors confusingly.) And it would feel funny to
     logged more searches for spring boot than for spring                name “top 2015 anythings for developers” without including
     framework [16].                                                     Docker on the list.
                                                                           Why is Docker great? First, why are containers (earlier:
     4. Data processing: Apache Spark                                    FreeBSD Jail, Solaris Zones, OpenVZ, LXC) great? Sim-
     Once upon a time (in 2004), Google developed a pro-                 ple: isolation without a full operating system; or, safety and
     gramming model (MapReduce [17]) that generalized many               convenience of a VM with far less overhead. But isolation


     18                                                                             Open Source Yearbook 2015      .O  pensource.com
takes many forms (chroot comes to mind, or really any virtu-      [17]	Map/Reduce—A visual explanation: https://ayende.com/
al memory system), and it’s pretty easy to systemd-nspawn               blog/4435/map-reduce-a-visual-explanation
without Docker. Only being able to isolate processes isn’t        [18]	MapReduce: Simplified Data Processing on Large Clusters:
enough. Why is Docker especially great [34]?                            http://static.googleusercontent.com/media/research.google.
   Two reasons: Dockerfiles (“the new tarballs”) add porta-             com/en//archive/mapreduce-osdi04.pdf
bility; and the Dockerfile format is now a de-facto standard.     [19]	What is Apache Hadoop?: https://hadoop.apache.org/
The first takes the pain out of application delivery (while       [20]	HDFS users guide: https://hadoop.apache.org/docs/stable/
earlier containers just created lighter VMs). The second                hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html
makes container-sharing social (and not just on DockerHub         [21]	100 open source Big Data architecture papers for data
[35]). I can try your application without mucking around for            professionals: https://www.linkedin.com/pulse/100-open-
hours not trying your application. (Remember how freeing                source-big-data-architecture-papers-anil-madan
apt-get felt?)                                                    [22]	Choosing the right NoSQL database for the job: a quality
                                                                        attribute evaluation: http://www.journalofbigdata.com/con-
Links                                                                   tent/2/1/18
[1]	Why Software Is Eating The World: http://www.wsj.com/arti-   [23]	Apache Hadoop NextGen MapReduce (YARN):
      cles/SB10001424053111903480904576512250915629460                  https://hadoop.apache.org/docs/current/hadoop-yarn/ha-
[2]	Augmenting Human Intellect: A Conceptual Framework:                doop-yarn-site/YARN.html
      http://www.dougengelbart.org/pubs/augment-3906.html         [24]	Apache Spark: http://spark.apache.org/
[3]	Silver Bullet—Essence and Accident in Software Engineer-     [25]	Big Data, Business Intelligence, and Analytics, 2015
      ing: http://worrydream.com/refs/Brooks-NoSilverBullet.pdf         Edition: https://dzone.com/guides/big-data-business-intelli-
[4]	Bootstrap: http://getbootstrap.com/                                gence-and-analytics-2015
[5]	Google trends—Bootstrap: https://www.google.com/             [26]	Spark Survey Results 2015:
      trends/explore#q=%2Fm%2F0j671ln                                   http://cdn2.hubspot.net/hubfs/438089/DataBricks_Sur-
[6]	Material Design Lite: http://www.getmdl.io/                        veys_-_Content/Spark-Survey-2015-Infographic.pdf
[7]	Bootstrap vs. Material Design Lite Google Trends:            [27]	Apache Spark—Preparing for the Next Wave of Re-
      https://www.google.com/trends/ex-                                 active Big Data: https://info.typesafe.com/COLL-
      plore#q=%2Fm%2F0j671ln%2C%20%2Fm%-                                20XX-Spark-Survey-Report_LP.html?lst=PR&ls-
      2F0ll4n18%2C%20Material%20Design%20Lite&c-                        d=COLL-20XX-Spark-Survey-Trends-Adoption-Report
      mpt=q&tz=Etc%2FGMT%2B5                                      [28]	Apache Spark Google Trends: https://www.google.com/
[8]	Twitter Bootstrap Usage Statistics:                                trends/explore#q=%2Fm%2F0ndhxqz
      http://trends.builtwith.com/docinfo/Twitter-Bootstrap       [29]	CQRS: http://martinfowler.com/bliki/CQRS.html
[9]	Bootstrap version 4 alpha release:                           [30]	Pragmatism: http://plato.stanford.edu/entries/peirce/
      http://v4-alpha.getbootstrap.com/                           [31]	Kolmogorov Complexity: http://people.cs.uchicago.edu/~-
[10]	Bootstrap themes: http://themes.getbootstrap.com/                 fortnow/papers/kaikoura.pdf
[11]	AngularJS: https://angularjs.org/                           [32]	Lambda Architecture: http://lambda-architecture.net/
[12]	AngularJS directives:                                       [33]	Docker: https://www.docker.com/
      https://docs.angularjs.org/guide/directive                  [34]	The 3 reasons why Docker got it right:
[13]	Why is the two-way data binding being dropped in Angular          http://techapostle.blogspot.com/2015/04/the-3-reasons-
      2? https://www.quora.com/Why-is-the-two-way-data-bind-            why-docker-got-it-right.html
      ing-being-dropped-in-Angular-2                              [35]	Docker Hub: https://hub.docker.com/
[14]	Highlights from AngularConnect 2015:
      http://angularjs.blogspot.com/2015/11/highlights-from-an-
      gularconnect-2015.html                                      Author
[15]	Spring: https://github.com/spring-projects                  John Esposito is Editor-in-Chief at DZone (dzone.com), hav-
[16]	Spring Boot vs. Spring Framework Google Trends: https://    ing recently finished a doctoral program in Classics while
      www.google.com/trends/explore#q=spring%20boot%2C%20         raising two cats. In a previous life, he was a VBA and Force.
      spring%20framework&cmpt=q&tz=Etc%2FGMT%2B5                  com developer, DBA, and network administrator.




Open Source Yearbook 2015      .O   pensource.com                                                                                19
W O R K I N G
                     ..............   ..
                            .............

     10 helpful tools for a
     sys admin’s toolbox                                                     BY BEN COTTON




                                                                       ownCloud
     Sys admins,                   no matter what platforms they
                                   work on, are awash in great
     open source software tools. In this article, we highlight well-
                                                                       Need a way to synchronize your KeePass database? own-
                                                                       Cloud’s recent 8.2 release brings improved design and
     known—and not-so-well-known—tools that have released              ease of administration. For those who can’t or won’t use
     new versions in 2015.                                             third-party services, ownCloud [12] provides a great way
                                                                       to share documents, photos, calendars, and other data
     BlackBox                                                          securely. A community-developed application repository
     Managing secrets is tough, especially when the secrets need       allows admins to extend the capabilities in a wide variety
     to end up on a server. That’s why Stack Exchange [1] devel-       of ways, including receiving SMS messages from Android
     oped the BlackBox [2] utility. BlackBox uses GNU Privacy          phones. If you need to give your users (or yourself) the
     Guard [3] (GPG) to securely encrypt secrets, such as pass-        ability to collaborate while keeping control over your data,
     words and private keys, and store them in a version control       this is a can’t-miss package.
     system. BlackBox also provides a mechanism for configura-
     tion management tools (specifically Puppet [4]) to extract the    Wireshark
     secrets when needed.                                              Any day that I have to resort to analyzing packet captures
        The plugin architecture of BlackBox makes it easy to ex-       is a bad day, but the venerable Wireshark [13] always helps
     tend. Although BlackBox was originally designed to work           make it a little easier. Although the project is almost old
     with git [5] repos, support for Mercurial [6], Subversion [7],    enough to vote in the US, Wireshark 2.0 [14] was released in
     and Perforce [8] has been added. BlackBox supports Linux,         November 2015. To say 2.0 is a major change is an under-
     OS X, and Windows (via Cygwin [9]), so it can be used in          statement: The UI was rewritten in Qt [15], and many of the
     mixed environments.                                               interactions have been simplified. This new release brings a
                                                                       lot of improvements, but it’s still the same Wireshark you’ve
     KeePass                                                           known for years.
     Managing secrets gets a little easier when they don’t have
     to go anywhere. Years ago, I started using KeePass [10] be-       VirtualBox
     cause it had been ported to the Maemo [11] platform. If aban-     Desktop virtualization comes in many flavors these days, but
     doned mobile operating systems aren’t your thing, KeePass         I find that I always come back to Oracle’s VirtualBox [16].
     is available for Linux, OS X, Windows, Android, and iOS.          At work, having the same operating system and version of
        When I was a newly minted sys admin, I had a notebook          our software as a customer runs is valuable to me, so quick-
     of rarely used passwords that                                                                    and-easy virtual machines
     I kept in a locked safe. KeeP-                                                                   save me a lot of time. Virtu-
     ass is like that, except easier                                                                  alBox 5.0, released in July,
     to back up and sync across                                                                       added the ability to start VMs
     locations. KeePass entries                                                                       in “headless” mode, which
     store URLs, user names,                                                                          works for me because I gen-
     passwords, and free text. En-                                                                    erally SSH into my virtual
     tries can be sorted into groups                                                                  machines for interactions. 5.0
     and given custom icons for                                                                       also brings paravirtualization
     ease of use. Recent releases                                                                     support for better guest per-
     have focused on improving                                                                        formance, disk encryption,
     performance and UX.                                                                              and USB 3 support.


     20                                                                           Open Source Yearbook 2015     .O   pensource.com
                   Visual Studio Code                               Docker
                     The editor wars had reached a somewhat         Certainly you’ve heard all about Docker [23] by now. Contain-
                     uneasy truce, but then a new kid appeared      ers are the next big thing in the devops world, and Docker is
                     on the block. Microsoft released Visual        the container platform. The 1.9 release, which shipped at the
                    Studio Code [17] for Windows, Linux, and        beginning of November, adds several new features. Multi-
                 OS X under the MIT license, which was big          host networking allows virtual networks to span hosts, giving
              news for a company typically seen as hostile to       admins more flexibility in their network topology. Persistent
       open source software. Although Visual Studio Code            storage support is improved, as well. Docker brings a level
       is designed as a code editor, don’t take that to mean        of flexibility and scalability to infrastructure that will have big
       it’s not useful for sys admins (after all, every sys ad-     impacts on sys admins and users in the coming year.
       min must do some coding). Visual Studio Code offers             Did we leave your favorite open source tool for sys admins
       built-in git interactions and Docker language support.       off the list? We’d love to hear about it: open@opensource.com.

       RRDtool                                                      Links
         Even if you’ve never interacted directly with RRDtool      [1]	Stack Exchange: http://stackexchange.com/
[18], chances are good you’ve used a project that incorpo-          [2]	Blackbox: https://github.com/StackExchange/blackbox
rates it. RRDtool is a great package for storing and graphing       [3]	GNU Privacy Guard: https://www.gnupg.org/
time series data, which is why it’s commonly used in perfor-        [4]	Puppet: https://puppetlabs.com/
mance monitoring systems, such as Cacti [19] and Xymon              [5]	Git: https://git-scm.com/
[20]. If static PNGs aren’t your thing, Tobi Oetiker has also de-   [6]	Mercurial: https://www.mercurial-scm.org/
veloped a JavaScript library [21] for generating RRD graphs.        [7]	Subversion: http://svnbook.red-bean.com/
                                                                    [8]	Perforce: https://www.perforce.com/
Mosh                                                                [9]	Cygwin: https://www.cygwin.com/
Being away from the desk can’t stop the modern sys admin            [10]	KeePass: http://keepass.info/
from keeping the bits flowing. Unfortunately, not all networks      [11]	Maemo: http://maemo.org/
are created equal. If you’ve ever tried to do an SSH session        [12]	ownCloud: https://owncloud.org/
over a mobile phone tether or an overburdened conference            [13]	Wireshark: https://www.wireshark.org/
WiFi network, you know how painful it can be. Mosh eases            [14]	Wireshark 2.0 announced:
that pain. Mosh allows for roaming network connections, and               https://www.wireshark.org/news/20151118.html
makes slow connections more tolerable by locally echoing            [15]	Qt: http://www.qt.io/
as you type and allowing the connection to catch up. After          [16]	VirtualBox: https://www.virtualbox.org/
almost two years of silence, Mosh 1.2.5 was released in July.       [17]	Visual Studio Code: https://code.visualstudio.com/
Along with the usual bug fixes and improvements in platform         [18]	RRDtool: http://oss.oetiker.ch/rrdtool/
support, the latest release adds IPv6 support.                      [19]	Cacti: http://www.cacti.net/
                                                                    [20]	Xymon: http://xymon.sourceforge.net/
RackTables                                                          [21]	RrdGraphJS: https://github.com/oetiker/RrdGraphJS
In a small environment, the sys admin may know exactly              [22]	RackTables: http://racktables.org/
where every server is without having to think about it. In          [23]	What is Docker:
my first job, the department had about half a rack of gear.               https://opensource.com/resources/what-docker
Easy peasy. When I moved to a larger group, suddenly
there were 4,000 machines to know about. At that sort               Author
of scale, a tool like RackTables [22] becomes invaluable.           Ben Cotton is a meteorologist by training and a high-per-
RackTables is a tool for documenting hardware informa-              formance computing engineer by trade. Ben works at Cycle
tion, rack space, network configuration, and more. Think            Computing, leading the support engineering group. Ben is
of RackTables as that terrible spreadsheet you’re keep-             a community moderator for Opensource.com. Find him on
ing, except not terrible.                                           Twitter @FunnelFiasco.




Open Source Yearbook 2015       .O  pensource.com                                                                                   21
                Best Couple
              Best Couple of 2015:
                        tar and ssh
                                                                                                              BY DAVID BOTH




The best              couples
                      comple-
ment each other, and each
                                                                                               So now I can use the results
                                                                                               of that command on my local
                                                                                               host because the standard
member of the couple con-                                                                      output data stream is sent
tributes unique and irreplace-                                                                 through the SSH tunnel to the
able parts to the whole. But                                                                   local host. OK, that is good,
some couples are very odd.                                                                     but what does it mean?
Such is the case with our                                                                        Let’s look at the tar com-
best couple this year: the tar                                                                 mand before answering that
and ssh commands.                                                                              question.
   Wait—what?!
   Yup, that’s right, the tar and ssh commands work to-         tar
gether in interesting ways, especially when used with full      The tar command is used to make backups. The name
consideration of the capabilities of Standard I/O (STDIO),      tar stands for Tape ARchive, but the command can be
which is also known as standard streams.                        used with any type of recording media such as tape, hard
                                                                drives, thumb drives and more. A command like the follow-
ssh                                                             ing can be used to create a backup of a home directory on
The ssh command is a secure and sophisticated form of ter-      the local host:
minal emulator that allows one to log in to a remote computer
to access a shell session and run commands. So I could          tar -cvf /tmp/home.tar /home
log in to a remote computer and run the ls command on the
remote computer. The results are displayed in the ssh termi-    This command created a tar file—also called a tarball—
nal emulator window on my local host. The Standard Output       named home.tar in the /tmp directory. That file is a backup of
(STDOUT) of the command is displayed on my terminal win-        everything in the home directory. Well, that’s nice, but also
dow, but it remains on the remote host and cannot be used       not very interesting because it is very common.
by the local host.                                                 But what can be interesting is, although many people do
   That is trivial and everyone does that. But the next step    not realize it, if the target output file is not specified using
is a bit more interesting. Rather than maintain a terminal      the -f option, the output of the tar command is sent directly
session on the remote computer and issuing multiple com-        to STDOUT:
mands, I can simply use a command like the following to
run a single command on the remote computer with the            tar -cv /home
results being displayed on the local host. This assumes that
SSH public/private keypairs (PPKP) are in use and I do not      That means that the complete output of the tar command—
have to enter a password each time I issue a command to         the files being backed up —is sent to the terminal, which
the remote host:                                                opens up some interesting possibilities, such as redirecting
                                                                the STDOUT data stream to a backup file. That looks like the
ssh remotehost ls                                               following command:


22                                                                          Open Source Yearbook 2015      .O   pensource.com
                                                                                               BE
                                                                                          CO                  ST
                                                                                                       UP
                                                                                            20                    LE
                                                                                                          15


tar -cv /home > /tmp/home.tar


This command performs the same function as the first tar
command in this section, but in a somewhat different and
more interesting manner.

The Odd Couple
We can use a command similar to the following to back up
the home directory of the remote host to the /tmp directory
of that remote host:

ssh remotehost “tar -cvf /tmp/home.tar /home”
                                                                we now have a command that can do backups of remote
Note that the command to be executed on the remote              hosts to a local host.
host is enclosed in quotes to ensure that the correct com-         I use our couple of the year every day to perform backups.
mand is executed remotely; this is a bit of clarification for   I have a script that uses ssh and tar, along with SSH public
both the shell and for us humans. A slight change to this       key encryption, to perform backups of several remote hosts
command gives us one in which we simply redirect the            to an external USB hard drive on a local host. These two
output of the tar command to the /tmp directory on the          commands simplify a necessary task, and the best part is
remote host:                                                    that they are free and open source software—free as in beer,
                                                                as well as free as in speech.
ssh remotehost “tar -cv /home > /tmp/home.tar”                     So let’s hear it for this year’s Opensource.com Best Cou-
                                                                ple: tar and ssh.
This command produces exactly the same result as the pre-
vious one. In this case, the STDOUT data stream of the tar      Links
command is maintained entirely on the remote host and is        [1]	Standard streams:
redirected to the backup file. The next command, however,            https://en.wikipedia.org/wiki/Standard_streams
is the one that opens up many new possibilities. Can you see
what it does?
                                                                Author
ssh remotehost “tar -cv /home” > /tmp/home.tar                  David Both is a Linux and open source advocate who re-
                                                                sides in Raleigh, North Carolina. He has been in the IT in-
In this case, the STDOUT data stream from the tar com-          dustry for more than forty years, and taught OS/2 for IBM
mand is sent through the SSH connection to the local            (where he worked for more than 20 years). While at IBM,
host. This stream of data is then redirected to the backup      he wrote the first training course for the original IBM PC in
file /tmp/home.tar on the local host. By simply moving the      1981. David has written articles for OS/2 Magazine, Linux
trailing quote to the left, the command is changed so that      Magazine, Linux Journal, and Opensource.com.


Open Source Yearbook 2015       .O pensource.com                                                                          23
COLL ABORATING
                                ..............   ..
                                       .............

    Top 10 open source projects
    of 2015                                     BY JEN WIKE HUGER




   We round up                        10 editor’s picks from the most
                                      popular projects in 2015.

    Apache Spark
    When it comes to open source big data processing, Hadoop
    is no longer the only name in the game. Apache Spark [1] is
    a general purpose distributed data processing tool that al-          community moderator David Both’s comprehensive review and
    lows users to process gigantic datasets across many nodes,           guide to the Dolphin file manager [9] from earlier this year.
    coordinating the processing so that users can concentrate
    on writing their queries in their language of choice. At the be-     Git
    ginning of this year, we announced a new world record [2] in         The world of version control sure has changed since git en-
    data processing set by Apache Spark, 100 TB of data in just          tered the scene 10 years ago as an open source alternative
    23 minutes. In the months that followed, interest in Apache          to BitKeeper for managing the Linux kernel’s source code.
    Spark has not slowed, and the project has gained many new            Since then, git [10] has rapidly become the most popular tool
    contributors and adopters.                                           for tracking changes to files, and not just for code. Git helps
                                                                         track changes to files where revisioning, branching, and col-
    Blender                                                              laborative development can help improve the workflow of a
    The Blender Foundation is on a mission “to build a free and          project. Are you still working with an older source code man-
    open source complete 3D creation pipeline for artists and            ager, but thinking of moving to git? Here are some great tips
    small teams.” This year we’ve seen the power of Blender [3]          and resources for making the move.
    in the mix of Blender-related articles [4] we’ve run on Open-
    source.com. Writer and Blender aficionado Jason van Gum-             Mattermost
    ster (author of Blender for Dummies [5]) shared the majority         To borrow from our review [12] of this open source team chat
    of those stories, including reports from the October 2015            alternative:
    Blender Conference in Amsterdam.                                        “Mattermost is [a] very modern approach to team chat.
                                                                            Currently in its beta release, Mattermost is written in Gol-
    D3                                                                      ang with a good chunk of JavaScript under the React
    When you are working with large amounts of raw data, some-              framework. It features private and public chats, including
    times a visualization is the best way to interpret what you’re          one on one communication, good archival support, and
    looking at. When you make that visualization available on               a very similar interface to Slack, including most of the
    the web, you can add new levels of interactivity to display             features you’ve come to expect there. In fact, if you’re al-
    information for an audience in an easy-to-understand format.            ready using Slack, there’s an easy import function which
    One tool for making this easy is D3 [6], a JavaScript-based             lets you move over your current channels and archives.
    data visualization framework that provides options for show-            Mattermost also integrates into your organization’s ex-
    ing data in charts, graphs, plots, maps, and more. We pro-              isting LDAP or Active Directory authentication systems.”
    filed D3 earlier this year as a part of our roundup of 8 excel-
    lent data visualization tools [7].                                   Piwik
                                                                         Piwik [13] is an open source alternative to Google Analytics,
    Dolphin                                                              and according to writer Scott Nesbitt, chances are it packs
    If you spend a lot of time managing files on your computer,          the features you need.
    you’re going to want a file manager that suit your needs and            Nesbitt writes [14]: “Those features include metrics on the
    gives you features that let you quickly and easily take control of   number of visitors hitting your site, data on where they come
    your file system. Dolphin [8], the default file manager in many      from (both on the web and geographically), from what pages
    KDE-based distributions, is a powerful tool to help you orga-        they leave your site, and the ability to track search engine
    nize files. For more on Dolphin, take a look at Opensource.com       referrals. Piwik also has a number of reports and you can


    24       Open Source Yearbook 2015        .O   pensource.com                    Open Source Yearbook 2015       .O  pensource.com
customize the dashboard to view the metrics that you want          [3]	Blender: https://www.blender.org/
to see. To make your life easier, Piwik integrates with over       [4]	Opensource.com Blender articles:
65 content management, ecommerce, and online forum sys-                  https://opensource.com/tags/blender
tems like WordPress, Magneto, Joomla!, and vBulletin using         [5]	Blender for Dummies: http://blenderbasics.com/
plugins. With anything else, you just need to add a tracking       [6]	D3: http://d3js.org/
code to a page on your site. A number of web hosting firms         [7]	8 excellent open source data visualization tools:
offer Piwik as part of their one-click install packages. You can         https://opensource.com/life/15/6/eight-open-source-da-
test drive [15] Piwik or use a hosted version [16].”                     ta-visualization-tools
   Fun fact: Maker of the LulzBot 3D printer, Aleph Objects,       [8]	Dolphin: https://userbase.kde.org/Dolphin
uses Piwik to run their analytics [17].                            [9]	A comprehensive guide to Dolphin, a KDE file manager:
                                                                         https://opensource.com/life/15/8/comprehensive-guide-dol-
R                                                                        phin-file-manager
In the era of big data, now may be the time to learn R [18],       [10]	Git: https://git-scm.com/
which has become the programming language of choice for            [11]	What to know before transitioning your team to Git:
data scientists and others interested in statistical computing           https://opensource.com/business/15/7/interview-em-
and graphics, and is touted by influencers in big data [19] like         ma-jane-hogbin-westby-git
Revolution Analytics. In 2015, the R Consortium [20] became        [12]	4 open source alternatives to Slack for team chat:
a Linux Foundation Collaborative project, created to provide             https://opensource.com/business/15/9/alterna-
support for the development of R-Hub, a new code-hosting                 tives-slack-team-chat
platform for developing and distributing packages for R.           [13]	Piwik: http://piwik.org/
                                                                   [14]	Top 3 open source alternatives to Google Analytics:
SugarCRM                                                                 https://opensource.com/business/14/10/
SugarCRM [21] is the 800-pound gorilla in the open source                top-3-open-source-alternatives-google-analytics
customer relationship management space, and has previ-             [15]	Piwik demo: http://demo.piwik.org/index.
ously been featured as one of our top 5 CRM tools [22]. The              php?module=CoreHome&action=index-
community edition of SugarCRM can be used out of the box                 &idSite=7&period=day&date=yesterday#/module=-
as a complete solution for organizations hoping to do a bet-             Dashboard&action=embeddedIndex&idSite=7&period=-
ter job of keeping their contacts manageable, or who want                day&date=yesterday&idDashboard=1
to turn a list of names into something actionable. Complete        [16]	Piwik Cloud: http://piwik.org/hosting/
with huge list of features and a pluggable infrastructure that     [17]	Open ethos powers Aleph Objects’ success:
allows for even more customization, SugarCRM is a great                  https://opensource.com/business/15/11/open-ethos-pow-
solution for organizations that want to get a handle on their            ers-lulzbots-success
contacts. (Editor’s note: SugarCRM 6.5 Community Edition           [18]	What is R?: https://www.r-project.org/about.html
is the most recent open source version of SugarCRM and is          [19]	Why now is the time to learn R: https://opensource.com/
still widely used. Open source alternatives built on Sugar-              business/14/12/r-open-source-language-data-science
CRM CE are growing in popularity.)                                 [20]	R Consortium: https://www.r-consortium.org/
                                                                   [21]	SugarCRM: https://www.sugarcrm.com/
Vagrant                                                            [22]	Top 5 open source customer relationship management
In a nutshell, Vagrant [23] is a command-line tool for launch-           tools: https://opensource.com/business/14/7/top-5-open-
ing and configuring virtual machines. With Vagrant, environ-             source-crm-tools
ments are reproducible and portable, and the data that de-         [23]	Vagrant: A powerful tool for configuring development envi-
fines the environment is stored in text files, making it easy to         ronments: https://opensource.com/business/15/9/ato-inter-
version control your environments and manage your virtual                view-seth-vargo
machines just as you would code. Vagrant allows you to set
up development environments on your local machine that             Authors
are nearly identical to your production environment, regard-       Jen Wike Huger is Content Manager at Opensource.com, where
less of what your host operating system is. Plus, learning         she manages the site’s publication calendar, its editing team,
how to get started with Vagrant is easy.                           and its community of writers. Follow her on Twitter @jenwike.
   Thanks to Jason Baker for his help on this article.             Jason Baker is passionate about using technology to make
                                                                   the world more open. His interests range from software de-
Links                                                              velopment to bringing sunlight to local governments. Jason
[1]	Apache Spark: http://spark.apache.org/                       is particularly interested in data visualization and analysis,
[2]	World record set for 100 TB sort by open source and           DIY/maker culture, simulations/modeling, geospatial tech-
      public cloud team: https://opensource.com/business/15/1/     nologies, and cloud computing (especially OpenStack).
      apache-spark-new-world-record                                Follow him on Twitter @jehb.


Open Source Yearbook 2015      .O   pensource.com        25                                                                     25
COLL ABORATING
                               ..............   ..
                                      .............

    Top 5 open source
    community metrics to track                                                              BY JESUS M. GONZALEZ-BARAHONA



   So you decided                             to use metrics to
                                              track your free, open
    source software (FOSS) community. Now comes the big
    question: Which metrics should I be tracking?
       To answer this question, you must have an idea of what
    information you need. For example, you may want to know
    about the sustainability of the project community. How quick-
    ly does the community react to problems? How is the com-
    munity attracting, retaining, or losing contributors? Once
    you decide which information you need, you can figure out
    which traces of community activity are available to provide it.
    Fortunately, FOSS projects following an open development
    model tend to leave loads of public data in their software        For example, the number of commits gives a first idea about
    development repositories, which can be analyzed to gather         the volume of the development effort. The number of tickets
    useful data.                                                      opened provides insight into how many bugs are reported
       In this article, I’ll introduce metrics that help provide a    or new features are proposed. The number of messages in
    multi-faceted view of your project community.                     mailing lists or posts in forums gives an idea of how much
                                                                      discussion is being held in public.
    1. Activity
    The overall activity of the community and how it evolves          2. Size
    over time is a useful metric for all open source communities.     The size of the community is the number of people par-
    Activity provides a first view of how much the community is       ticipating in it, but, depending on the kind of participation,
    doing, and can be used to track different kinds of activity.      size numbers may vary. Usually you’re interested in active
                                                                      contributors, which is good news. Active people may leave
   Number of commits and number of merged changes after code
                                                                      traces in the repositories of the project, which means you
   review in the OpenStack project, as found in the OpenStack
   Activity Dashboard [1]. Evolution over time (weekly data).         Number of authors and number of posters in mailing lists in
                                                                      the Xen project, as found in the Xen Project Development
                                                                      Dashboard [2]. Evolution over time (monthly data).




    26       Open Source Yearbook 2015      .O   pensource.com                   Open Source Yearbook 2015      .O  pensource.com
can count contributors who are active in producing code by         of the community varies. The community aging chart [4]
looking at the Author field in git repositories, or count people   nicely illustrates these exchanges over time. The chart is
participating in the resolution of tickets by looking at who is    structured as a set of horizontal bars, two per “generation”
contributing to them.                                              of people joining the community. For each generation,
   This basic idea of activity (somebody did something) can        the attracted bar shows how many new people joined the
be extended in many ways. One common way to track activ-           community during the corresponding period of time. The
ity is to look at how many people did a sizable chunk of the       retained bar shows how many people are still active in the
activity. Generally most of a project’s code contributions, for    community.
example, are from a small fraction of the people in the proj-         The relationship between the two bars for each generation
ect’s community. Knowing about that fraction helps provide         is the retention rate: the fraction of people of that genera-
an idea of the core group (i.e., the people who help lead the      tion who are still in the project. The complete set of attracted
community).                                                        bars show how attractive the project was in the past. And
                                                                   the complete set of the retention bars shows the current age
3. Performance                                                     structure of the community.
So far, I have focused on measuring quantities of activities
                                                                   Community aging chart for the Eclipse community, as shown
and contributors. You also can analyze how processes and
                                                                   in the Eclipse Development Dashboard [4]. Generations are
people are performing. For example, you can measure how            defined every six months.
long processes take to finish. Time to resolve or close tickets
shows how the project is reacting to new information that
requires action, such as fixing a reported bug or implement-
ing a requested new feature. Time spent in code review—
from the moment when a change to the code is proposed
to the moment it is accepted—shows how long upgrading a
proposed change to the quality standards expected by the
community takes.
   Other metrics deal with how well the project is coping with
pending work, such as the ratio of new to closed tickets, or
the backlog of still non-completed code reviews. Those pa-
rameters tell us, for example, whether or not the resources
put into solving issues is enough.
Ratio of tickets closed by tickets opened, and ratio of change
proposals accepted or abandoned by new change proposals
per quarter. OpenStack project, as shown in the OpenStack
Development Report, 2015-Q3 [3].

                                                                   5. Diversity
                                                                   Diversity is an important factor in the resiliency of communi-
                                                                   ties. In general, the more diverse communities are—in terms
                                                                   of people or organizations participating—the more resilient
                                                                   they are. For example, when a company decides to leave a
                                                                   FOSS community, the potential problems the departure may
                                                                   cause are much smaller if its employees were contributing
                                                                   5% of the work rather than 85%.

                                                                   Pony and Elephant Factor for several FOSS projects in the
                                                                   area of cloud computing, as presented in The quantitative
                                                                   state of the open cloud 2015 (slides) [8].




4. Demographics
Communities change as contributors move in and out. De-
pending on how people enter and leave a community over
time, the age (time since members joined the community)


Open Source Yearbook 2015       .O  pensource.com         27                                                                    27
COLL ABORATING
                                 ..............   ..
                                        .............
        The Pony Factor [6], a term defined by Daniel Gruno [7] for      [5]	Eclipse Development Dashboard:
     the minimum number of developers performing 50% of the                   http://dashboard.eclipse.org/demographics.html
     commits. Based on the Pony Factor, the Elephant Factor is           [6]	Pony Factor Math:
     the minimum number of companies whose employees perform                  https://ke4qqq.wordpress.com/2015/02/08/pony-fac-
     50% of the commits. Both numbers provide an indication of                tor-math/
     how many people or companies the community depends on.              [7]	Daniel Gruno: https://twitter.com/humbedooh
        There are many other metrics to help measure a commu-            [8]	The quantitative state of the open cloud 2015 (slides):
     nity. When determining which metrics to collect, think about             https://speakerdeck.com/jgbarah/the-quantitative-state-of-
     the goals of your community, and which metrics will help you             the-open-cloud-2015-edition
     reach them.

     Links                                                               Author
     [1]	OpenStack Activity Dashboard: http://activity.openstack.org/   Jesus M. Gonzalez-Barahona is co-founder of Bitergia
     [2]	Zen Project Development Dashboard:                             (bitergia.com), the software development analytics com-
          http://projects.bitergia.com/xen-project-dashboard/browser/    pany specializing in the analysis of free and open source
     [3]	OpenStack Development Report, 2015-Q3:                         software projects. He also teaches and researches in Uni-
          http://activity.openstack.org/dash/reports/2015-q3/pd-         versidad Rey Juan Carlos in Spain as part of the GSyC/
          f/2015-q3_OpenStack_report.pdf                                 LibreSoft research group. His interests include the study
     [4]	Measure your open source community’s age to keep it            of software development communities, and he focuses on
          healthy: http://radar.oreilly.com/2014/10/measure-your-        quantitative and empirical studies of these groups. Find him
          open-source-communitys-age-to-keep-it-healthy.html             on Twitter @jgbarah.




W R I T E      F O R        U S
                                    ..............   ..
                                           .............
     Would you like to write for Opensource.com? Our editorial calendar includes upcoming themes, community columns, and
     topic suggestions: https://opensource.com/calendar

     Learn more about writing for Opensource.com at: https://opensource.com/writers

     We're always looking for open source-related articles on the following topics:

             Apache: Stories and open source updates about Apache Software Foundation projects.
             Big Data: Open source big data tools, stories, communities, and news.
             Command-line tips: Tricks and tips for the Linux command-line.
             DevOps: DevOps best practices, case studies, and “getting started” stories.
             Diversity: How you increased diversity in your community, open source-related grants and scholarship
             opportunities, tips for attracting a more diverse pool of contributors, how increasing diversity helped your
             project, and other practical advice for fostering inclusive communities.

             Geek Culture: Open source-related geek culture stories.
             Hardware: Open source hardware projects, maker culture, new products, howtos, and tutorials.
             HFOSS: Humanitarian open source project stories, news, communities, and updates.
             Content management systems: Howtos and articles on Drupal, ezPublish, Joomla, TYPO3, WordPress,
             and other open source content management systems.

             Education: Open source projects, tools, solutions, and resources for education.
             Science: Open source tools, programs, projects, and howtos for science.


     28                                                                              Open Source Yearbook 2015      .O   pensource.com
                                                                           ....................     COLL ABORATING




                   Diversity in open source
                      highlights from 2015                                                    BY CINDY PALLARES-QUEZADA




The pool of people                             participating in
                                               open source
communities still lacks diversity, but the good news is that
                                                                  free and open source software licenses, discussed barri-
                                                                  ers and accessibility within free and open source projects,
                                                                  and shed light on paid internships and jobs in free and
many people, projects, and organizations are working to           open source software.
improve it. I’ve collected a few highlights from 2015 efforts
to increase diversity in open source communities. Which           Grace Hopper Celebration of Women
2015 diversity in open source stories would you add to            in Computing embraces open source
the list?                                                         Grace Hopper Celebration of Women in Computing [4], the
                                                                  world’s largest gathering of women technologists, hosted
Outreachy grows its diversity internship program                  an Open Source Day [4]. Attendees interested in helping
Outreachy [1], a member project of Software Freedom               free and open source organizations such, as OpenStack,
Conservancy [2], expanded its internship program to be            Mozilla, Cloudera, and OpenHatch, had a chance to con-
open to people of color underrepresented in tech in the           tribute. The track included numerous presentations and
U.S. The program has been a great success in providing            panels on security, humanitarian efforts, open hardware,
paid remote internships in free and open source organi-           infrastructure, and more by women working in free and
zations for women, trans men, and genderqueer people              open source software. The event helped teach beginners
across the globe.                                                 about decentralization, software licenses, and the open
The expansion was driven by demographic data collected            source philosophy.
and released by leading U.S. tech companies, which veri-
fied a lack of racial and ethnic diversity among employees        Ada Initiative ends, but its work continues
in technical roles in comparison to U.S. population demo-         The Ada Initiative, which supported women in open tech-
graphics. Outreachy organizers have observed the same             nology and culture through unconferences, workshops,
disparity of demographic representation in free and open          and more, announced its shutdown [6] in 2015. As an ef-
source communities and                                                                          fort to preserve and contin-
conferences, and they hope                                                                      ue the work started by the
to create more opportunities                                                                    organization, the Ada Initia-
for other underrepresented                                                                      tive published an AdaCa-
groups in the future.                                                                           mp toolkit [7] and Imposter
                                                                                                Syndrome training under a
Minority opportunities in                                                                       Creative Commons Attri-
open source                                                                                     bution ShareAlike license,
Richard Tapia Celebration of                                                                    making them freely avail-
Diversity in Computing [3], a                                                                   able for use by anyone.
conference aimed at provid-
ing a supportive networking                                                                     Defining a diverse
environment for underrepre-                                                                     community
sented groups across the broad range of computing and             Sarah Sharp [8], open graphics developer at Intel and for-
information technology, hosted a panel called “Opportu-           mer Linux Kernel developer, created a step-by-step break-
nities in open source” that introduced many students to           down [9] of a diverse community. In it she mentions how


Open Source Yearbook 2015      .O  pensource.com                                                                          29
COLL ABORATING
                             ..............   ..
                                    .............
    a good open source community includes a good code of           Links
    conduct, has ways of handling burnout, values non-techni-      [1]	Outreachy: https://www.gnome.org/outreachy/
    cal skills, and has mentorship programs. It’s a great place    [2]	Software Freedom Conservancy: https://sfconservancy.org/
    to start when trying to learn about diversity in open source   [3]	ACM Richard Tapia Celebration of Diversity in Computing:
    communities.                                                         http://tapiaconference.org/
                                                                   [4]	Grace Hopper Celebration of Women in Computing:
    OpenStack gets a diversity working group                             http://ghc.anitaborg.org/
    The OpenStack Foundation’s board of directors supported        [5]	Open Source Day 2015: http://ghc.anitaborg.org/confer-
    a diversity working group [10]. The group will sponsor and           ence-overview/open-source-day-2015/
    create programs to encourage diversity by identifying and      [6]	Ada Initiative organization to end, but its work will continue:
    removing barriers to joining and contributing to the Open-           https://opensource.com/business/15/8/ada-initiative-legacy
    Stack community. The group already started to target gender    [7]	AdaCamp Toolkit: http://adacamp.org/
    and geographic diversity and is planning on expanding the      [8]	Sarah Sharp: https://twitter.com/sarahsharp
    OpenStack code of conduct [11].                                [9]	What makes a good community?: http://sarah.thesharps.
                                                                         us/2015/10/06/what-makes-a-good-community/
    Red Hat presents its first Women in                            [10]	OpenStack Diversity Working Group:
    Open Source Awards                                                   https://wiki.openstack.org/wiki/Diversity
    Red Hat Women in Open Source Awards [12] celebrate wom-        [11]	OpenStack Foundation Community Code of Conduct:
    en who are already contributing to open source and shine a           https://www.openstack.org/legal/community-code-of-conduct/
    light on them as role models for others. The awards have       [12]	Red Hat Women in Open Source Awards:
    two categories: “community” for professionals and “academ-           http://www.redhat.com/en/about/women-in-open-source
    ic” for students. Red Hat judges reviewed more than 100        [13]	Kesha Shah: https://twitter.com/geekkygirl
    community-submitted nominations and selected five finalists    [14]	Systers: http://anitaborg.org/get-involved/systers/
    in each category. The open source community then voted on      [15]	BRL-CAD: http://brlcad.org/
    the winners. The winners were Sarah Sharp, an open graph-
    ics developer at Intel, and Kesha Shah [13], who contributed   Author
    to Systers [14] and BRL-CAD [15] through Google Summer         Cindy Pallares-Quezada is an Outreachy alumna and a
    of Code. Both Sarah and Kesha have done extensive men-         Red Hat intern working on OpenStack. She enjoys helping
    toring in the community. Voting for the 2015 Women in Open     contributors get started on open source and making things
    Source Award start in February.                                with open source hardware.




    30                                                                         Open Source Yearbook 2015         .O   pensource.com
                                                                           ....................       COLL ABORATING




                         2015 was a good year
                       for creating the world’s
                           ‘missing maps’ with
                               OpenStreetMap                                                                BY DRISHTIE PATEL



The Missing Maps                             project [1], which
                                             launched in 2014,
aims to literally and figuratively put more than 20-million at-
risk people on the map using OpenStreetMap (OSM) [2] as
a platform. We need to fill in “missing maps” before the next
disaster strikes, ensuring the maps have detail sufficient for
emergency responders to hit the ground running.
   OpenStreetMap is an open and free source of geographic
data. Anyone with a username can add, edit, or update data,
so the Missing Maps project is community driven and focus-
es on local knowledge. Remote volunteers around the world
use satellite imagery to trace features, such as roads and
buildings. Community members and volunteers in the area           vulnerable to disasters, such as flooding, making it easier
then use the base map to add local data to these shapes, in-      to plan future disaster risk-reduction activities. The Zim-
cluding street names, addresses, building types, and points       babwe Red Cross can now plan to serve areas that are
of interest.                                                      deemed high priority based on survey and map results
   As we look back at 2015, here are a few success stories        and target specific homes that require help immediately.
from the Missing Maps project.                                    Now with detailed information including house addresses,
                                                                  the process is much more efficient.
Zimbabwe                                                             Community mapping was conducted to complement a
One area Missing Maps started working in is Dzivarasekwa,         baseline survey and urban risk profile, and has helped to in-
a high-density urban township in Harare’s North District in       form the activities that will be implemented in the next stages
Zimbabwe. Community mapping in Dzivarasekwa was per-              of the resilience project.
formed as part of an urban disaster risk-reduction project,
with the goal of strengthening community safety and resil-
ience to reduce the number of deaths, injuries, and socio-
economic impacts caused by urban disasters.
   Community discussions and the baseline survey result-
ed in guided decisions about which details to collect during
the community mapping activity. Volunteers in Dzivarase-
kwa surveyed more than 8,000 buildings across 7 square
kilometers. One output of the mapping is shown below.
The results showed a correlation between housing quality
and building material type, with concrete homes observed
to be in worse condition than brick homes. When com-
bined, this data provided the locations of residents most


Open Source Yearbook 2015      .O  pensource.com                                                                              31
COLL ABORATING
                              ..............   ..
                                     .............
    Tanzania                                                         Rwanda
    Ushirombo is a predominantly rural area in northwest Tanza-      Imagine not being able to use your phone to look up di-
    nia, with about 84% of the residents relying on agriculture as   rections, nearby hospitals, restaurants, or just about any
    the primary livelihood source. The rest depend on activities     answer to a question at the tips of your fingers. For many
    such as small-scale gold mining, lumbering, and informal mi-     people this is reality, because most of the world is not on
    cro-enterprises.                                                 the map. Thousands of towns and cities are invisible on
      Community discussions and a baseline survey revealed           the world map. This makes it difficult for disaster respond-
    waterborne and water-related disease is one of the prima-        ers to come to residents’ aid when an earthquake, land-
    ry issues in this region because most of the residents are       slide, or typhoon strikes.
    dependent on collecting water from traditional wells and            Communities in Cyahinda, Rwanda, an agricultural re-
    natural springs that are neither clean nor safe. Therefore,      gion in the Nyaruguru district near the Burundi border, face
    recording water and sanitation points was a priority during      challenges such as poor health and sanitation, environ-
    community mapping.                                               mental degradation, and disaster risks related to landslides
      Missing Maps trained volunteers and community leaders          and drought.
    on how to use Field Papers [3] and OpenMapKit [4] to col-
                                                                     American Red Cross staff setting up drop off and pick up
    lect data. Mappers were able to collect data in Ushirom-
                                                                     locations for volunteer mappers in Cyahinda, Rwanda during
    bo quickly because buildings are within close proximity to
                                                                     community mapping in the field. Copyright American Red Cross.
    each other on flat terrain; however, many challenges still
    hindered the collection process, such as the lack of road
    names and formal building addresses. Old satellite imagery
    also contributed to the problem because the base maps on
    Field Papers and the OpenMapKit app did not match the
    reality on the ground.

   Volunteers using Field Papers and OpenMapKit to collect local
   data that will be added to OpenStreetMap. Copyright American
   Red Cross.




                                                                        Low-density villages and collections of buildings are
                                                                     spread across hills terraced for small-scale farming, con-
                                                                     nected by dirt roads and tracks. The Rwanda Red Cross
                                                                     and American Red Cross spent two weeks in April mapping
                                                                     the area. Field mapping in Cyahinda’s rural setting was also
                                                                     slower than other mapping projects due to the size of the
                                                                     area, wide distribution of buildings, and tiring walks through
                                                                     the hilly terrain.
                                                                        The validated base data was uploaded to OpenStreetMap,
    Despite these challenges, the participation of community         while the project-specific data is being used to create maps
    leaders in the community-mapping process led to the suc-         to assist with planning and decision-making. For example,
    cess of mapping Ushirombo. Leaders such as village chiefs        residents may decide to look at the distribution of mudslides
    joined the field mapping expeditions to help navigate and        to decide where to safely build their homes, schools, and
    manage community relationships. This aided data quali-           churches.
    ty and collection efficiency because mappers were able to
    continue collecting data while community leaders spent time      South Africa
    answering questions from residents.                              Khayelitsha is home to roughly 400,000 people covering an
       Map data is now used by the Tanzania Red Cross and            area of 39 square kilometers made up of old formal areas
    American Red Cross to make programmatic decisions for an         and a majority newer informal areas. Red Cross partners
    urban risk reduction program in the area.                        have been working in the area and looked into the major


    32                                                                          Open Source Yearbook 2015      .O  pensource.com
concerns the community is facing. Fires are at the top of         Khayelitsha to support the community in mapping the area
the list. Fires regularly occur as a result of indoor stove       for better program planning and decision making. Remote
use, trash burning, faulty wires, and residents trying to         tracing was done ahead of time by digital humanitarians
keep warm. Rapid, unplanned development results in close          around the world using OpenStreetMap and this was
construction of homes, which helps fires spread quickly.          hugely beneficial, giving us a fairly accurate foundation of
Pathways between homes are narrow and often blocked,              data to add to.
making evacuations chaotic and dangerous. Residents                  Volunteers on the ground were trained to add local data
commonly do not know who to call for firefighting assis-          such as street names, house numbers, points of interest, and
tance, and if firefighters are available, they have a difficult   water sources among other features. The area is now full for
time finding and responding to fires.                             relevant information, not just for this project, but data is be-
                                                                  ing used by other humanitarian organizations working in the
Volunteers using Field Papers and GPS to collect local data
                                                                  area and more importantly the community living in Khayelit-
that will be used for programs and added to OpenStreetMap.
                                                                  sha. The American Red Cross GIS has created large maps
Copyright American Red Cross.
                                                                  of the different sections to print and share with the communi-
                                                                  ties. The volunteers are continuing to gather data, collecting
                                                                  the locations of the fire sensors to then overlay OSM data to
                                                                  analyze the coverage of the project.

                                                                  Links
                                                                  [1]	Missing Maps: http://www.missingmaps.org/
                                                                  [2]	OpenStreetMap:
                                                                       https://www.openstreetmap.org/#map=5/51.500/-0.100
                                                                  [3]	Field Papers: http://fieldpapers.org/
                                                                  [4]	OpenMapKit:
                                                                       https://github.com/americanredcross/openmapkit



                                                                  Author
                                                                  Drishtie Patel is passionate about open data and community
  Red Cross partners are piloting a project to solve this         engagement. As a GIS analyst, and as Missing Maps Proj-
issue: a low-cost, meshed network of smart home sen-              ect Coordinator at the American Red Cross, she works to
sors affixed to each home within the informal settlement.         empower local vulnerable communities by developing and
The American Red Cross GIS team recently set out to               strengthening their skills using the OpenStreetMap platform.




Open Source Yearbook 2015      .O  pensource.com                                                                               33
                          Most likely to succeed
                          10 projects to fork
                          in 2016                                                                             BY JASON BAKER




                                                                   The Art of Command Line
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
                                                                   Have you always wanted to become a command-line nin-
                                                                   ja? Who hasn’t wanted to be able to effortlessly punch out
of the projects released as open source software this year         a seemingly cryptic series of commands to instantly bend
have made a huge impact on the world of computing in a             their machine to their will? Okay, this repository isn’t going
very short amount of time. While flash stardom isn’t always        to replace years of training and practice to instantly turn you
the best predictor of longevity, we think these 10 projects just   into an elite system administrator, but if you’re a new Linux
might have come onto the scene with enough momentum to             user or just one who hasn’t spent much time behind a ter-
continue their success in the new year.                            minal window, you might want to check this out. The Art of
   Fortunately, it’s easy to measure developer interest for        Command Line [5] isn’t a how-to or tutorial in its own right,
projects being released on GitHub. This list is a compila-         but more of a study guide or a body of knowledge for those
tion of some of our favorites from the most starred releases       seeking to upgrade their terminal-fu. It’s a giant list of things
from GitHub repositories created in the past year with open        to learn in order to become the master of the shell, and avail-
source licenses. They piqued our curiosity, and if they pique      able under a Creative Commons Attribution-ShareAlike 4.0
yours too, why not take a look? Clone your favorite and try        license [6].
it out. And if you want to join in on the action, why not fork a
copy, contribute some changes, and help make these proj-           Material Design Lite
ects continue to succeed in the new year.                          The Material Design Lite [7] components by Google are de-
                                                                   signed to make it easy to add a material design look and
React Native                                                       feel to your website and web applications. What is material
React Native [1] is a JavaScript framework that makes it easy      design? It’s a consistent look and feel designed to give vir-
for developers to create native applications for Android or iOS    tual components, from buttons to toggles to input fields, a
using the same principles that React has enabled them to use       visual style which feels intuitive to interact with through the
for web applications. React, created by Facebook, was first re-    careful use of light, shadows, movement, and interactivity.
leased in 2013, and the native framework was made available        You’ll immediately recognize it as the look of Google-made
earlier this year with much anticipation. Already receiving over   web applications. Material Design Lite is released under the
4,000 forks on GitHub and almost 25,000 stars, React Native        Apache 2.0 license [8].
has already racked up over 450 individual contributors to its
repository. React Native is available under a BSD license [2].     TensorFlow
                                                                   TensorFlow [9], another contribution to this list from Google,
Swift                                                              is an open source library for numerical computation using
Swift [3], a new programming language by Apple designed to         data flow graphs. It connects operations and data with nodes
be a successor to Objective-C as the language of choice for        and graph edges, much in the same way the neural networks
writing applications for Apple’s platforms and beyond, was         of the human brain are organized. TensorFlow is therefore a
released to the world in 2014. But earlier this month, Apple       framework for building machine learning applications, mak-
took the step of releasing the code base as open source un-        ing it ideal for complex applications like language processing
der an Apache 2.0 license [4]. Swift is a compiled language,       which are difficult to impossible to develop with traditional al-
and many efforts have been made to optimize it for speed,          gorithmic paradigms. TensorFlow is released as open source
readability, and modern programming techniques.                    under the Apache 2.0 license [10].


34                                                                             Open Source Yearbook 2015       .O   pensource.com
                                                                                                                           M
Dragula                                                                                                             LIK OST
                                                                                                                    SU ELY T
                                                                     the input images. Packaged with
Dragula [11] sums up its tag line as “Drag and drop so simple        an IPython notebook to make ex-
it hurts.” We hope it doesn’t hurt, but Dragula does make it         perimenting easy, this repository                CC     O
                                                                                                                         EE
easy to create web applications with drag and drop functional-       lets even novice users turn im-                        D
ity without relying on huge frameworks or complicated custom         ages into dream-like landscapes.
code. Just insert a few lines of code into your application to       Deepdream is released under
tell Dragula which components are draggable, and it handles          an Apache 2.0 license [20].
everything else: clicks, touch interaction, shadows, even the
sort order. Dragula is available under an MIT license [12].          Links
                                                                     [1]	React Native:
Redux                                                                      https://github.
Redux [13] is a tiny JavaScript library which provides the                 com/facebook/
ability to create predictable state containers for your applica-           react-native
tions. By imposing a few artificial constraints, and integrating     [2]	React Native li-
seamlessly with other frameworks like React, you can easily                cense: https://github.
build applications with a model-view-controller (MVC) archi-               com/facebook/react-native/
tecture that behave consistently across different platforms                blob/master/LICENSE
and devices, and help to make the testing of these applica-          [3]	Swift: https://github.com/apple/swift
tions easier and more predictable. Redux is made available           [4]	 license: https://github.com/apple/swift/blob/master/LICENSE.txt
as open source under an MIT license.                                 [5]	The Art of Command Line:
                                                                           https://github.com/jlevy/the-art-of-command-line
Big List of Naughty Strings                                          [6]	Attribution-ShareAlike 4.0 International (CC BY-SA 4.0):
The Big List of Naughty Strings [15] isn’t a compilation of                http://creativecommons.org/licenses/by-sa/4.0/
things you shouldn’t say to your mother. Rather, it’s a list of      [7]	Material Design Lite:
strings that are likely to cause problems for applications if they         https://github.com/google/material-design-lite
don’t adequately clean user input. It’s safe to say that if some-    [8]	Material Design Lite license: https://github.com/google/
one can input a harmful string into your application, eventu-              material-design-lite/blob/master/LICENSE
ally someone will. Whether those strings inject data via SQL,        [9]	TensorFlow: https://github.com/tensorflow/tensorflow
through server code or command injection, or introduce other         [10]	TensorFlow license: https://github.com/tensorflow/tensor-
vulnerabilities, it’s important to make sure that your program             flow/blob/master/LICENSE
cleans its string input to prevent malicious or just unexpected      [11]	Dragula: https://github.com/bevacqua/dragula
behavior. Use this collection as a part of your security tests to    [12]	Dragula license:
make sure your applications behaves properly. The Big List of              https://github.com/bevacqua/dragula/blob/master/license
Naughty Strings is available under an MIT license [16].              [13]	Redux: https://github.com/rackt/redux
                                                                     [14]	Redux license:
Linux insides                                                              https://github.com/rackt/redux/blob/master/LICENSE.md
Have you ever wanted to understand how the Linux kernel              [15]	Big List of Naughty Strings:
works? As in, really works, including the nitty-gritty details?            https://github.com/minimaxir/big-list-of-naughty-strings
Much of the freely available documentation out there focuses         [16]	Big List of Naughty Strings license: https://github.com/
on the user-facing parts of the Linux operating system, along              minimaxir/big-list-of-naughty-strings/blob/master/LICENSE
with its components like various GNU components, desktop             [17]	Linux insides: https://github.com/0xAX/linux-insides
environments, and applications; and for a project as large and       [18]	Attribution-NonCommercial-ShareAlike 4.0 International
complex as Linux, a beginner would easily get lost just trying to          (CC BY-NC-SA 4.0):
dive straight into the source code. Linux insides [17] is a series         http://creativecommons.org/licenses/by-nc-sa/4.0/
of articles written to give you a picture of the inner workings of   [19]	Deepdream: https://github.com/google/deepdream
the Linux kernel, and it’s completely free under a Creative Com-     [20]	Deepdream license: https://github.com/google/deep-
mons Attribution NonCommercial ShareAlike 4.0 license [18].                dream/blob/master/LICENSE

Deepdream                                                            Author
Deepdream [19] is a Google-created computer vision pro-              Jason Baker is passionate about using technology to make the
gram that uses neural networks to interpret images by detect-        world more open. His interests range from software development
ing patterns and amplifying them. For an artificial intelligence     to bringing sunlight to local governments. Jason is particularly
researcher or developer, it can be used to classify images           interested in data visualization and analysis, DIY/maker culture,
based on their contents. For everyone else, it’s a library for       simulations/modeling, geospatial technologies, and cloud com-
creating some really psychedelic colorful interpretations of         puting (especially OpenStack). Follow him on Twitter @jehb.


Open Source Yearbook 2015       .O   pensource.com                                                                                     35
LEARNING
               ..............   ..
                      .............

   5 great Raspberry Pi
   projects for the classroom                                                                          BY BEN NUTTALL



   We round up 5                        fun Raspberry Pi projects
                                        for the classroom:
                                                                     the code to do the basics, it’s down to your imagination as to
                                                                     what you do next!
                                                                        If you know how to flash one light, you can flash three.
   1. Minecraft Pi                                                   Pick out three LEDs in traffic light colors and you can
   Minecraft is the favorite game of pretty much every teenager      code the traffic light
                                                                                                    Courtesy of Low Voltage Labs [2].
   in the world—and it’s one of the most creative games ever         sequence. If you know
                                                                                                    CC BY-SA 4.0.
   to capture the attention of young people. The version that        how to use a button to
   comes with every Raspberry Pi is not only a creative think-       a trigger an event, then
   ing building game, but comes with a programming interface         you have a pedestrian
                                         allowing for additional     crossing! Also look out
   Courtesy of the Raspberry Pi
                                         interaction with the Mi-    for great pre-built traf-
   Foundation. CC BY-SA 4.0.
                                         necraft world through       fic light add-ons like
                                         Python code.                Pi Traffic Light [3], Pi-
                                            Minecraft: Pi Edition    Stop [4], TrafficHAT [5],
                                         is a great way for teach-   and more.
                                         ers to engage students         It’s not always about
                                         with problem solving        the code—this can be
                                         and writing code to per-    used as an exercise
                                         form tasks. You can use     in understanding how
                                         the Python API to build a   real world systems are
   house and have it follow you wherever you go, build a bridge      devised. Computational
   wherever you walk, make it rain lava, show the temperature in     thinking is a useful skill in any walk of life.
   the sky, and anything else your imagination can create.              Next, try wiring up two buttons and an LED and making a
      Learn more in Getting Started with Minecraft Pi” [1].          two-player reaction game—let the light come on after a ran-
                                                                     dom amount of time and see who can press the button first!
   Courtesy of the Raspberry Pi Foundation. CC BY-SA 4.0.
                                                                        To learn more, check out GPIO Zero recipes [6]. Every-
                                                                     thing you need is in CamJam EduKit 1 [7].

                                                                     Courtesy of the Raspberry Pi Foundation. CC BY-SA 4.0.




   2. Reaction game and traffic lights
   It’s really easy to get started with physical computing on        3. Sense HAT Pixel Pet
   Raspberry Pi—just connect up LEDs and buttons to the              The Astro Pi—an augmented Raspberry Pi—went to space
   GPIO pins, and with a few lines of code you can turn lights       in December 2015, but you haven’t missed your chance to
   on and control things with button presses. Once you know          get your hands on the hardware. The Sense HAT is the sen-


   36                                                                            Open Source Yearbook 2015      .O   pensource.com
sor board add-on used in the Astro Pi mission and it’s avail-    infrared and the light     Courtesy of the Raspberry Pi
able for anyone to buy. You can use it for data collection,      spectrum, and how          Foundation. CC BY-SA 4.0.
science experiments, games and more. Watch the Raspber-          to adjust the camera
ry Pi Sense HAT Pixel Tutorial video [8] from Raspberry Pi’s     focus and control the
Carrie Anne (on the Geek Gurl Diaries YouTube channel [9])       camera in software.
for a great way to get started—by bringing to life an animated      Learn    more    in
pixel pet of your own design on the Sense HAT display.           “Make an infrared bird
   Learn more in “Exploring the Sense HAT” [10].                 box” [11].

Courtesy of the Raspberry Pi Foundation. CC BY-SA 4.0.
                                                                 5. Robotics
                                                                 With a Raspberry Pi
                                                                 and as little as a cou-
                                                                 ple of motors and a motor controller board, you can build
                                                                 your own robot. There is a vast range of robots you can
                                                                 make, from basic buggies held together by sellotape and a
                                                                 homemade chassis, all the way to self-aware, sensor-laden
                                                                 metallic stallions with camera attachments driven by games
                                                                 controllers.
                                                                    Learn how to control individual motors with something
                                                                 straightforward like the RTK Motor Controller Board (£8/$12),
                                                                 or dive into the new CamJam robotics kit (£17/$25) which
                                                                 comes with motors, wheels and a couple of sensors—great
Courtesy of the Raspberry Pi Foundation. CC BY-SA 4.0.
                                                                 value and plenty of learning potential.
                                                                                                         Alternatively, if you’d
                                                                 Courtesy of the Raspberry Pi
                                                                                                      like something more
                                                                 Foundation. CC BY-SA 4.0.
                                                                                                      hardcore, try PiBorg’s
                                                                                                      4Borg [12] (£99/$150)
                                                                                                      or    DiddyBorg       [13]
                                                                                                      (£180/$273) or go the
                                                                                                      whole hog and treat
                                                                                                      yourself to their Doo-
                                                                                                      dleBorg Metal edition
                                                                                                      (£250/$380)—and
                                                                                                      build a mini version of
                                                                 their infamous DoodleBorg tank [14] (unfortunately not for
4. Infrared bird box                                             sale).
A great exercise for the whole class to get involved with—          Check out the CamJam robotics kit worksheets [15].
place a Raspberry Pi and the NoIR camera module inside a            Do you have a fun Raspberry Pi project to share? Send
bird box along with some infra-red lights so you can see in      us your story: open@opensource.com.
the dark, then stream video from the Pi over the network or
                                                                 Courtesy of Low Voltage Labs. CC BY-SA 4.0.
on the internet. Wait for birds to nest and you can observe
them without disturbing them in their habitat. Learn all about

Courtesy of the Raspberry Pi Foundation. CC BY-SA 4.0.




Open Source Yearbook 2015     .O   pensource.com                                                                             37
LEARNING
                ..............   ..
                       .............

   3 open hardware projects
   for beginners                                                                                               BY ALICIA GIBB


                                                                          Blinky Buildings
   I’m part of the Lunchbox                                               The Blinky Buildings Empire
                                                                                                               The Blinky Building Kit.
                                                                                                               Photo courtesy of Lunchbox
                                                                                                               Electronics.CC BY-SA 4.0.
   Electronics [1] team, where we create innovative, new prod-            State kit is a simple kit to teach
   ucts with great imagination and passion for open source                people how to make deriva-
   hardware. Our goal is to combine the art and engineering of            tives of open source hardware.
   an R&D Lab with playful products and projects. We believe              Make a derivative of a building
   that learning should be intuitive and fun.                             in your city! You are welcome
     Looking back over 2015, we picked three of our favorite              to create a derivative of this kit
   projects and one open hardware book to keep you learning               as long as it abides by the open
   and making.                                                            source hardware definition [3].
                                        Make this stoplight to learn
                                        more about soldering.
   The stop-and-go DIY                  Image courtesy of Lunchbox
                                                                          Building Open Source
   soldering kit                        Electronics. CC BY-SA 4.0.        Hardware
   As the name suggests, you                                              Building Open Source Hard-
   can build the stop and go DIY                                          ware [5] is a field guide I wrote
   soldering kit [2] yourself. This                                       for designing and open sourcing your hardware. I curated a
   kit cycles through red, yellow,                                        selection of chapters written by a group of community mem-
   and green LEDs from an AT-                                             bers that include pointers on how to manufacture products,
   tiny85 and is a great way to                                                                     which license is best for you, and
   practice your soldering skills.                                                                  the history of the open source hard-
   It’s quick to put together (takes                                                                ware movement. It’s a hands-on
   about 10 minutes) and the chip                                                                   guide with several checklists to help
   has been programmed for you.                                                                     you understand how best to open
   No need to know how to code.                                                                     source your device. Plus, royalties
   The holes on the base of the stop and go light are LEGO com-                                     of this book are given to the Open
   patible, so you can build this kit into your various brick projects.                             Source Hardware Association [6].
   You are welcome to create a derivative of this kit as long as it                                 Happy Hacking!
   abides by the open source hardware definition [3].
                                                                          Links
   Build upons: World’s tiniest light-up bricks                           [1]	Lunchbox Electronics: http://www.lunchboxelectronics.com/
   Build Upons [4] are light-up bricks that are compatible with           [2]	Stop and Go kit:
   LEGO. The Build Upons system has three types of bricks: an                  http://www.lunchboxelectronics.com/product/stopandgo
   LED brick, a power brick, and a bridge brick. Build Upons have         [3]	Open source hardware definition:
   a 1x1 LED brick to enable the user to create elegant designs.               http://www.oshwa.org/definition/
   With Build Upons, the user is able to place the LED bricks             [4]	Build Upons: https://www.kickstarter.com/proj-
   anywhere throughout their design for ultimate flexibility. You              ects/1828089281/build-upons-worlds-tiniest-light-up-bricks
                                      don’t need to know electron-        [5]	Building Open Source Hardware:
   Image courtesy of Lunchbox
                                      ics to use these bricks—you              https://www.sparkfun.com/products/13220
   Electronics.CC BY-SA 4.0.
                                      simply build just like you’ve       [6]	Open Source Hardware Association: http://www.oshwa.org/
                                      always done and you will
                                      learn along the way. The            Author
                                      source for Build Upons will         Alicia Gibb is CEO of Lunchbox Electronics. She’s a jack-
                                      be released as open source          of-all-trades (even though she holds two masters degrees).
                                      hardware once the designs           She teaches physical computing in the ATLAS Institute (part
                                      have been finalized for our         of the Engineering Department at CU Boulder), and is the
                                      production pieces.                  director of a hackerspace—the Blow Things Up Lab—there.


   38                                                                                 Open Source Yearbook 2015       .O  pensource.com
                                                                                            ....................   LEARNING




Publisher’s picks: 29 open
source books for 2015                                                            BY RIKKI ENDSLEY




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                                      write exceptionally robust and well-performing code. Using
                                                                 the concise, scenario-driven style pioneered in Scott Meyers’
The Go Programming Language                                      best-selling Effective C++ [1], Brett Slatkin brings together
http://www.informit.com/store/                                   59 Python best practices, tips, and shortcuts, and explains
  go-programming-language-9780134190440                          them with realistic code examples. Drawing on his years of
by Alan A. A. Donovan and Brian W. Kernighan                     experience building Python infrastructure at Google, Slatkin
ISBN: 0134190440                                                 uncovers little-known quirks and idioms that powerfully im-
400 Pages                                                        pact code behavior and performance. He teaches the best
Publication Date: October 2015                                   way to accomplish key tasks, in order to write code that’s
Available eBook Formats: EPUB, MOBI, and PDF                    easier to understand, maintain, and improve.

The Go Programming Language is the authoritative resource
for any programmer who wants to learn Go. It shows how to        The Dart Programming Language
write clear and idiomatic Go to solve real-world problems. The   http://www.informit.com/store/dart-
book does not assume prior knowledge of Go nor experience          programming-language-9780321927705
with any specific language, making it accessible to readers      by Gilad Bracha
whether they’re most comfortable with JavaScript, Ruby, Py-      ISBN: 0-321-92770-2
thon, Java, or C++. The book features hundreds of interest-      224 Pages
ing and practical examples of well-written Go code that cover    Publication Date: December 2015
the whole language, its most important packages, and a wide      Available eBook Formats: EPUB, MOBI, and PDF
range of applications. Each chapter has exercises to test for
understanding and explore extensions and alternatives.           In this rigorous but readable introductory text, Dart speci-
                                                                 fication lead Gilad Bracha fully explains both the language
                                                                 and the ideas that have shaped it, offering an authoritative
Effective Python: 59 Specific Ways to                            description of Dart for programmers, computer science
  Write Better Python                                            students, and other well-qualified professionals. The text
http://www.informit.com/store/effective-                         illuminates key programming constructs with significant
  python-59-specific-ways-to-write-better-                       examples, focusing on principles of the language, such as
  python-9780134034287                                           optional typing and pure object-orientation. Bracha thor-
by Brett Slatkin                                                 oughly explains reflection in Dart, showing how it is evolv-
ISBN: 0-13-403428-7                                              ing into a form that programmers can easily apply without
256 Pages                                                        creating excessively large programs. He also shares valu-
Publication Date: February 2015                                  able insights into Dart’s actor-style model for concurrency
Available eBook Formats: EPUB, MOBI, and PDF                    and asynchronous programming. Throughout, he covers
                                                                 both language semantics and the rationale for key fea-
This book will help readers master a truly “Pythonic” ap-        tures, revealing not just what Dart does, but why it works
proach to programming, harnessing Python’s full power to         the way it does.


Open Source Yearbook 2015         .O   pensource.com                                                                       39
LEARNING
                ..............   ..
                       .............
   Clojure Recipes                                                     Pro Bash Programming, Second Edition
   http://www.informit.com/store/                                      http://www.apress.com/9781484201220?gtmf=s
     clojure-recipes-9780321927736                                     by Jayant Varma, Chris F. A. Johnson
   by Julian Gamble                                                    ISBN13: 978-1-484201-22-0
   ISBN: 0-321-92773-7                                                 256 Pages
   288 Pages                                                           Publication Date: June 2015
   Publication Date: October 2015                                      Available eBook Formats: EPUB, MOBI, PDF
   Available eBook Formats: EPUB, MOBI, and PDF

   This is a wide-ranging, up-to-date “code recipe book” for an        Pro Bash Programming teaches you how to effectively uti-
   increasingly popular language. With practical and self-con-         lize the Bash shell in your programming. The Bash shell
   tained examples, Gamble illuminates Clojure’s key features          is a complete programming language, not merely a glue
   and best practices, showing how to solve real-world prob-           to combine external Linux commands. By taking full ad-
   lems one step at a time. Focusing on Clojure 1.7 and higher,        vantage of Shell internals, Shell programs can perform as
   the book fully reflects recent enhancements to ensure the           snappily as utilities written in C or other compiled languag-
   most up-to-date code for a given project.                           es. 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
   Apress                                                              for Bash 4.3, and many scripts have been rewritten to make
                                                                       them more idiomatically Bash, taking better advantage of
   Shell Scripting Recipes, Second Edition                             features specific to Bash. It is easy to read, understand,
   http://www.apress.com/9781484202210?gtmf=s                          and will teach you how to get a grip on Bash programming,
   by Jayant Varma                                                     without drowning you in pages and pages of syntax.
   ISBN13: 978-1-484202-21-0
   380 Pages                                                           Pro Freeware and Open Source Solutions
   Publication Date: October 2015                                        for Business
   Available eBook Formats: EPUB, MOBI, PDF                            http://www.apress.com/9781484211311?gtmf=s
                                                                       by Philip Whitt
   Shell Scripting Recipes is filled with more                         ISBN13: 978-1-484211-31-1
   than 150 much-needed and practical recipes that follow a            280 Pages
   problem-solution format, and help all Unix users regain some        Publication Date: September 2015
   of the lost time spent creating and testing shell scripts. Most     Available eBook Formats: EPUB, MOBI, PDF
   scripts in this book are POSIX (Portable Operating System
   Interface)-compliant, so they are supported by many of the          A practical guide for the small business owner seeking viable
   major shell variants, including Bash, ksh, and sh, among oth-       alternative to expensive commercial software packages and
   ers. This completely updated second edition takes into ac-          subscriptions. This reference guide provides an overview of
   count the many changes to shell scripting that have occurred        many popular and powerful free alternatives to proprietary
   since its original publication nearly 10 years ago, and all the     software. In this book you will find free and open source solu-
   recipes are now relevant for a modern audience.                     tions for office productivity, PDF creation, accounting, image
      Each real-world example recipe follows the same struc-           editing and graphic design, desktop publishing, 3D design,
   ture and easily shows you what’s going on in each case. File        CAD, audio and video editing, website and blog creation,
   conversion (DOS, UNIX, and Mac), system administration,             customer relationship management, point of sale, network-
   and resource monitoring are just a few of the topics covered        ing and security, and alternatives to the Windows and Mac-
   in this highly practical shell scripting reference. You will also   intosh operating systems. You can save a substantial sum
   find recipes for filename management, complex date calcu-           of money by replacing just a few commercial software titles
   lations, screen control capabilities, and more.                     with free and open source solutions.




   40                                                                             Open Source Yearbook 2015       .O  pensource.com
Beginning Ubuntu for Windows and Mac Users                       No Starch
http://www.apress.com/9781484206096?gtmf=s
by Nathan Haines                                                 Automate the Boring Stuff with Python
ISBN13: 978-1-484206-09-6                                        https://www.nostarch.com/automatestuff
244 Pages                                                        by Al Sweigart
Publication Date: September 2015                                 ISBN: 978-1-59327-599-0
Available eBook Formats: EPUB, MOBI, PDF                         504 Pages
                                                                 Publication Date: April 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        Why should you spend hours (or weeks or months!) doing
start, this book will delight you. It teaches all newcomers to   tedious computer tasks when you can write a program to do
Ubuntu how to get the most out of Ubuntu for work, home,         the dirty work for you? Automate the Boring Stuff with Python
and play. Get started on your open source journey using this     assumes no prior programming experience—all you need is
excellent beginner’s guide.                                      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
OpenStack Trove                                                  PDFs, updating Excel spreadsheets, and filling out online
http://www.apress.com/9781484212226?gtmf=s                       forms. Automate the Boring Stuff with Python can stream-
by Amrith Kumar and Douglas Shelley                              line anyone’s work day and free them from time-consuming
ISBN13: 978-1-484212-22-6                                        computer tedium.
336 Pages                                                           To read more from Al Sweigart, author of Automate the
Publication Date: August 2015                                    Boring Stuff with Python, visit his Opensource.com author
Available eBook Formats: EPUB, MOBI, PDF                         page [2].



Your step-by-step guide to set up and run a secure and           Teach Your Kids to Code
scalable cloud Database as a Service (DBaaS) solution.           https://www.nostarch.com/teachkids
The book shows you how to set up and configure the Trove         by Bryson Payne
DBaaS framework, use prepackaged or custom database              ISBN: 978-1-59327-614-0
implementations, and provision and operate a variety of          336 Pages
databases—including MySQL, PostgreSQL, MongoDB,                  Publication Date: April 2015
Cassandra, and Redis—in development and production               Available eBook Formats: EPUB, MOBI, PDF
environments.
Authors Amrith Kumar and Douglas Shelley, both active
technical contributors to the Trove project, describe com-       Even if don’t know your loops from your variables, with
mon deployment scenarios and walk you through the set-           Teach Your Kids to Code, you can walk your child through
up, configuration, and ongoing management of complex             fundamental programming concepts with Python. The book
database topics like replication, clustering, and high avail-    employs step-by-step explanations and visual and game-ori-
ability. The book provides detailed descriptions of how          ented examples to grab kids’ attention while strengthening
Trove works and gives you an in-depth understanding of           their problem-solving and computational thinking skills. As
its architecture.                                                you both work through the book, you’ll learn how to build
                                                                 games (like Yahtzee and Pong), make a program that en-
                                                                 codes 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 [3].




Open Source Yearbook 2015     .O   pensource.com                                                                           41
LEARNING
                ..............   ..
                       .............
   SparkFun Guide to Processing                                       Creative coding challenges and applied examples will put
   https://www.nostarch.com/sparkfunprocessing                        your new math and coding skills into practice. You’ll write
   by Derek Runberg                                                   an inequality solver, plot gravity’s effect on how far a bullet
   ISBN: 978-1-59327-612-6                                            will travel, shuffle a deck of cards, estimate the area of
   312 Pages                                                          a circle by throwing 100,000 “darts” at a board, explore
   Publication Date: August 2015                                      the relationship between the Fibonacci sequence and the
   Available eBook Formats: EPUB, MOBI, PDF                           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
   The Sparkfun Guide to Processing uses the artist-friendly          computer science.
   programming language Processing to unleash your creativity
   through interactive art and games. You’ll get a primer on ani-
   mation and programming, and then work your way through a           O’Reilly Media
   series of step-by-step, hands-on projects, including pixel art,
   a playable maze game, and psychedelic visualizations that          Fluent Python
   respond to light, sound, and temperature.                          http://shop.oreilly.com/product/0636920032519.do
                                                                      by Luciano Ramalho
                                                                      ISBN: 978-1-4919-4600-8
   The Official ScratchJr Book                                        770 Pages
   https://www.nostarch.com/scratchjr                                 Publication Date: July 2015
   by Marina Umaschi Bers and Mitchel Resnick                         Available eBook Formats: DAISY, EPUB, MOBI, PDF
   ISBN: 978-1-59327-671-3
   160 Pages
   Publication Date: October 2015                                     Python’s simplicity lets you become productive quickly, but
   Available eBook Formats: EPUB, MOBI, PDF                           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
   Scratch is already the standard for teaching kids to program,      most neglected—features. Author Luciano Ramalho takes
   with more than 11 million users. Now, there’s a new kid in         you through Python’s core language features and libraries,
   town—ScratchJr! With this programming language designed            and shows you how to make your code shorter, faster, and
   for kids ages 5 to 7, young ones can get a head start on           more readable at the same time. Many experienced pro-
   picking up programming fundamentals by creating interac-           grammers try to bend Python to fit patterns they learned
   tive stories and games on Android and iPad tablets. Written        from other languages, and never discover Python features
   by ScratchJr’s creators, The Official ScratchJr Book contains      outside of their experience. With this book, those Python
   several activities that build on one another, with each chap-      programmers will thoroughly learn how to become proficient
   ter culminating in a fun final project. Along the way, kids de-    in Python 3.
   velop 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       Learning Spark
   connecting the activity with literacy and math concepts.           http://shop.oreilly.com/product/0636920028512.do
                                                                      by Holden Karau, Andy Konwinski,
                                                                        Patrick Wendell, Matei Zaharia
   Doing Math with Python                                             ISBN: 978-1-4493-5862-4
   https://www.nostarch.com/doingmathwithpython                       276 Pages
   by Amit Saha                                                       Publication Date: January 2015
   ISBN: 978-1-59327-640-9                                            Available eBook Formats: DAISY, EPUB, MOBI,
   264 Pages                                                            PDF
   Publication Date: August 2015
   Available eBook Formats: 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
   Doing Math with Python is the perfect book for anyone who          computing system that makes data analytics fast to write
   loves, or studies, math. Doing Math with Python shows you          and fast to run. With Spark, you can tackle big datasets
   how to use Python to delve into high school–level math             quickly through simple APIs in Python, Java, and Scala.
   topics, such as statistics, geometry, probability, and calculus.   This edition includes new information on Spark SQL, Spark


   42                                                                              Open Source Yearbook 2015             .O
                                                                                                                          pensource.com
Streaming, setup, and Maven coordinates. Written by the          Docker Cookbook
developers of Spark, this book will have data scientists and     http://shop.oreilly.com/product/0636920036791.
engineers up and running in no time. You’ll learn how to           do?sortby=publicationDate
express parallel jobs with just a few lines of code, and cover   by Sébastien Goasguen
applications from simple batch jobs to stream processing         ISBN: 978-1-4919-1971-2
and machine learning.                                            366 Pages
                                                                 Publication Date: November 2015
                                                                 Available eBook Formats: DAISY, EPUB, MOBI, PDF
Git for Teams
http://shop.oreilly.com/product/0636920034520.do                 Whether you’re deploying applications on premise or in the
by Emma Jane Hogbin Westby                                       cloud, this cookbook provides developers, operators, and IT
ISBN: 978-1-4919-1118-1                                          professionals with more than 130 proven recipes for work-
356 Pages                                                        ing with Docker. With these practical solutions, experienced
Publication Date: August 2015                                    developers with no previous knowledge of Docker will be
Available eBook Formats: DAISY, EPUB, MOBI, PDF                  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
You can do more with Git than just build software. This prac-    Docker images. Operators will quickly be able to adopt the
tical guide delivers a unique people-first approach to version   tools that will change the way they work.
control that also explains how using Git as a focal point can
help your team work better together. You’ll learn how to plan    Packt
and pursue a Git workflow that not only ensures that you
accomplish project goals, but also fits the immediate needs      Python Machine Learning
and future growth of your team. The first part of the book on    https://www.packtpub.com/big-data-and-
structuring workflow is useful for project managers, technical     business-intelligence/python-machine-
team leads, and CTOs. The second part provides hands-on            learning/?utm_source=opensource&utm
exercises to help developers gain a better understanding of        _medium=referral
Git commands.                                                    by Sebastian Raschka
                                                                 ISBN: 9781783555130
                                                                 454 Pages
Living Clojure                                                   Publication Date: September 2015
http://shop.oreilly.com/product/0636920034292.do
by Carin Meier                                                   Visit just about any tech or business website from the past
ISBN: 978-1-4919-0904-1                                          decade and you’ll find someone talking about Big Data. But
242 Pages                                                        whatever “revolution” took place within business over the past
Publication Date: April 2015                                     few years is well and truly over—Big Data is now the norm.
Available eBook Formats: DAISY, EPUB, MOBI, PDF                  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 out-
If you’re an experienced programmer who has not worked           comes and behavior. In a global economy where the margins
with Clojure before, this guide is the perfect thorough but      between success and failure are small and the future looks
gentle introduction for you. Author Carin Meier not only pro-    just a little bit frightening, the control that machine learning in-
vides a practical overview of this JVM language and its func-    sights can bring will give you confidence that the world around
tional programming concepts, but also includes a complete        you isn’t as impenetrable as you first thought.
hands-on training course to help you learn Clojure in a struc-      Python Machine Learning connects directly to this trend,
tured way. The first half of the book takes you through Clo-     providing an accessible and practical route through the top-
jure’s unique design and lets you try your hand at two Clojure   ic with one of the world’s most popular programming lan-
projects, including a web app. The holistic course in second     guages. But its accessibility doesn’t mean it lacks depth—it’s
half provides you with critical tools and resources, including   comprehensive, too, guiding readers through some of the
ways to plug into the Clojure community.                         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 delv-
                                                                 ing in and out of a range of problems quickly.


Open Source Yearbook 2015          .O   pensource.com                                                                             43
LEARNING
                 ..............   ..
                        .............
   Go Programming Blueprints                                         from data. But with Spark, we’re looking at the future of
   https://www.packtpub.com/application-                             machine learning—its speed and processing power mean
     development/go-programming-blueprints/                          it’s the tool that’s redefining what’s possible with Big Data.
     ?utm_source=opensource&utm_                                     Spark’s in-memory data storage is perhaps one of its most
     medium=referral                                                 exciting features, but it’s only once you’ve seen it in action,
   by Mat Ryer                                                       processing data across clusters, that you can begin to get a
   ISBN: 9781783988020                                               sense of how it can be used for high-velocity data analysis.
   274 Pages                                                         Machine Learning with Spark really communicates the full
   Publication Date: January 2015                                    extent of what’s possible with Spark—at Packt we know
                                                                     that technological innovation is really driven by the triumvi-
   Go, in many ways, echoes Python. Like Python, Go is an            rate of speed, efficiency, and size, and that’s certainly what
   expressive multipurpose language, demonstrating a cur-            makes Spark such a big deal for us. The book does look like
   rent trend for languages that are capable of providing rap-       a standard machine learning guide, but because of Spark’s
   id solutions to a wide range of programming challenges.           integrated offering, you’ll find chapters that explore data
   One of the most interesting things about Go is that every-        processing and preparation, as well as a chapter dedicated
   thing about it is very deliberate. Perhaps this is unsurpris-     to real-time machine learning, the field where Spark really
   ing for a programming language that has been developed            stands out.
   by Google, an organization that has made matters of de-
   tail and engineering a core part of their brand, but it’s still
   worth thinking about in the context of the future of open         React.js Essentials
   source, in terms of what it means and what it will look like      https://www.packtpub.com/web-development/
   for programmers.                                                    reactjs-essentials/?utm_source=
      Go’s elegant and expressive syntax isn’t something that          opensource&utm_medium=referral
   should be learned, but instead should be experienced.             by Artemij Fedosejev
   That’s where we started with Go Programming Blueprints.           ISBN: 9781783551620
   Exploring Go through a number of different projects, includ-      208 Pages
   ing a chat application (using web-sockets) and a random           Publication Date: August 2015
   recommendation service (you’ll have to look inside to find
   out what that looks like), the book demonstrates how Go           In 2014, we were looking toward MEAN [4] as the crucial
   makes building for scalability and performance simple. At         full-stack web development solution. But that’s started to
   a time when these issues have never been more important           change, with the rise of unbelievably lightweight tools that
   in the industry, we believe that it’s only by diving straight     bridge the divide between framework and library. React.js
   into these problems that we can properly tackle them—and          rises above all others. Created by Facebook, React.js is now
   build better software.                                            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
   Machine Learning with Spark                                       of their apps and websites is really a testament to React’s
   https://www.packtpub.com/big-data-and-                            power. The reason why React is so impressive is simple—it
     business-intelligence/machine-learning-spark/                   lets you build UI components that immediately update with
     ?utm_source=opensource&utm                                      data changes. It lives up to its name—React reacts as soon
     _medium=referral                                                as it needs to.
   by Nick Pentreath                                                    Inspired by React’s rapid response time, React.js Es-
   ISBN: 9781783288519                                               sentials responds to the web development world’s current
   338 Pages                                                         love for components. Offering an accessible and fast-paced
   Publication Date: February 2015                                   journey through the world of React.js, it underlines just why
                                                                     React is becoming more and more popular. Perfect for web
   We’ve already seen that machine learning is becoming the          developers interested in the cutting-edge of their field, the
   area that’s defining data science as we know it—from Big          book looks set to remain relevant throughout 2016, as the
   Data to small data, from data mining to visualization, at the     world plays catch up with those most committed to and driv-
   core of all these elements is the ability to learn and predict    en by innovation.




   44                                                                           Open Source Yearbook 2015        .O pensource.com
Python Data Science Essentials                                    best practices that make your product stronger. Coverage
https://www.packtpub.com/big-data-and-                            includes OpenStack service primitives, networking within the
  business-intelligence/python-data-                              OpenStack Ecosystem, deployment of Virtualized Network
  science-essentials/?utm_source=                                 Functions for Enterprises, containers, data protection, and
  opensource&utm_medium=referral                                  much more.
by Alberto Boschetti, Luca Massaron
ISBN: 9781785280429
258 Pages                                                         Data Science and Big Data Analytics:
Publication Date: April 2015                                        Discovering, Analyzing, Visualizing
                                                                    and Presenting Data
If Python is the one language that could lay a claim to de-       http://www.wiley.com/WileyCDA/WileyTitle/
fining programming in 2015 (yes, there are some close               productCd-111887613X.html
contenders, but no other language is quite so ubiquitous          by EMC2 Education Services
as Python), it’s only fair that we return to where we started     ISBN: 978-1-118-87613-8
and let another of our most popular Python titles have the        432 Pages
final word.                                                       Publication Date: January 2015
   Python Data Science Essentials opens up a whole new            Available eBook Formats: EPUB, PDF
approach to data science. The book was developed, like
many Packt titles, with accessibility in mind. This doesn’t       Data Science and Big Data Analytics is about harnessing
just mean it’s “easy to follow” (although, if you must know, it   the power of data for new insights. The book covers the
is). It means, more specifically, that the book offers a range    breadth of activities and methods and tools that data scien-
of readers—whether you’re a web developer working with            tists use. The content focuses on concepts, principles, and
Python or a data scientist that’s always worked with R, but       practical applications that are applicable to any industry
is now curious about Python—a simple way to explore Py-           and technology environment, and the learning is supported
thon’s data science capabilities. Everyone wants to better        and explained with examples that you can replicate using
understand data. Python Data Science Essentials shows             open-source software.
you that in-depth insight doesn’t have to be difficult.

                                                                  Linux Bible, 9th Edition
Wiley                                                             http://www.wiley.com/WileyCDA/WileyTitle/
                                                                    productCd-1118999878,descCd-buy.html
OpenStack Cloud Application Development                           by Christopher Negus
http://www.wiley.com/WileyCDA/WileyTitle/                         ISBN: 978-1-118-99987-5
  productCd-1119194318,descCd-buy.html                            912 Pages
by Scott Adkins, John Belamaric, Vincent Giersch,                 Publication Date: April 2015
  Denys Makogon, Jason E. Robinson                                Available eBook Formats: EPUB, PDF
ISBN: 978-1-119-19431-6
168 Pages                                                         Linux Bible is the ultimate hands-on Linux user guide, wheth-
Publication Date: November 2015                                   er you’re a true beginner or a more advanced user navigat-
Available eBook Formats: EPUB, PDF                                ing recent changes. This updated ninth edition covers the
                                                                  latest versions of Red Hat Enterprise Linux 7 (RHEL 7),
OpenStack Cloud Application Development is a fast-paced,          Fedora 21, and Ubuntu 14.04 LTS, and includes new infor-
professional book for OpenStack developers, delivering com-       mation on cloud computing and development with guidance
prehensive guidance without wasting time on development           on OpenStack and Cloudforms. With a focus on RHEL 7,
fundamentals. Written by experts in the OpenStack commu-          this practical guide gets you up to speed quickly on the new
nity from Infoblox, Gigaspaces, GoDaddy, and Comcast, this        enhancements for enterprise-quality file systems, the new
book shows you how to work effectively and efficiently within     boot process and services management, firewalld, and the
the OpenStack platform to develop large, scalable applica-        GNOME 3 desktop. Written by a Red Hat expert, this book
tions without worrying about underlying hardware. Follow          provides the clear explanations and step-by-step instructions
along with an OpenStack build that illustrates how and where      that demystify Linux and bring the new features seamlessly
each technology comes into play, as you learn expert tips and     into your workflow.




Open Source Yearbook 2015           .O   pensource.com                                                                      45
LEARNING
                ..............   ..
                       .............
   Professional Python                                            Reliable JavaScript: How to Code Safely
   http://www.wiley.com/WileyCDA/WileyTitle/                        in the World’s Most Dangerous Language
     productCd-1119070856.html                                    http://www.wiley.com/WileyCDA/WileyTitle/
   by Luke Sneeringer                                               productCd-1119028728.html
   ISBN: 978-1-119-07085-6                                        by Lawrence Spencer, Seth Richards
   288 Pages                                                      ISBN: 978-1-119-02872-7
   Publication Date: October 2015                                 528 Pages
   Available eBook Formats: EPUB, PDF                             Publication Date: July 2015
                                                                  Available eBook Formats: EPUB, PDF
   Professional Python goes beyond the basics to teach
   beginner- and intermediate-level Python programmers            Reliable JavaScript: How to Code Safely in the World’s Most
   the little-known tools and constructs that build concise,      Dangerous Language demonstrates how to create test-driven
   maintainable code. Design better architecture and write        development for large-scale JavaScript applications that will
   easy-to-understand code using highly adoptable tech-           stand the test of time and stay accurate through long-term use
   niques that result in more robust and efficient applica-       and maintenance. Taking a test-first approach to software ar-
   tions. Coverage includes decorators, context managers,         chitecture, this book walks you through several patterns and
   magic methods, class factories, metaclasses, regular           practices and explains what they are supposed to do by having
   expressions, and more, including advanced methods for          you write unit tests. Write the code to pass the unit tests, so you
   unit testing using asyncio and CLI tools. Each topic in-       not only develop your technique for structuring large-scale ap-
   cludes an explanation of the concept and a discussion on       plications, but you also learn how to test your work. You’ll come
   applications, followed by hands-on tutorials based on re-      away with hands-on practice that results in code that is correct
   al-world scenarios. All sample code is available for down-     from the start, and has the test coverage to ensure that it stays
   load from the companion website, and the “Python 3 first”      correct during subsequent maintenance. All code is provided
   approach covers multiple current versions, while ensuring      both in the text and on the web, so you can immediately get
   long-term relevance.                                           started designing more complete, robust applications.



   Links                                                          Author
   [1]	http://www.informit.com/authors/bio/ea8b25c7-a974-480e-   Rikki Endsley is a community manager for Opensource.com.
        a723-991b1fdd70da                                         She has worked as the community evangelist on the Open
   [2] https://opensource.com/users/alsweigart                   Source and Standards (OSAS) team at Red Hat; a freelance
   [3]	http://opensource.com/users/professorpayne                tech journalist; community manager for the USENIX Associ-
   [4]	http://mean.io/#!/                                        ation; associate publisher of Linux Pro Magazine, ADMIN,
                                                                  and Ubuntu User; and the managing editor of both Sys
                                                                  Admin magazine and UnixReview.com. Follow her on Twitter
                                                                  @rikkiends.




   46                                                                         Open Source Yearbook 2015        .O   pensource.com
                                                                                          ....................   LEARNING




         8 books to
         make you a
         more open
             leader                BY BRYAN BEHRENSHAUSEN




Open source                      principles continue to in-
                                 vade new domains, and
                                                                 The Engaged Leader
                                                                 by Charlene Li (Recommended by
in 2015 we saw this trend accelerate. Traditional organi-          Jason Hibbets [4])
zational structures are giving way to new models―more
open models—and the nature of our collaborations is              Using social media to engage and listen
changing. Rapidly.                                               isn’t a science. It’s an art. And in The
   When Jim Whitehurst published The Open Organization           Engaged Leader [5], Li helps you nav-
in June, he crystallized something that’s been nascent for       igate these waters with examples from
years: a new management paradigm, one fit for the 21st           different industries and from leaders at
century. Leaders everywhere are scrambling to under-             various levels in their organizations. I’ve recommended
stand their roles under this paradigm, and our community         this book to several of my colleagues at Red Hat (and be-
has come to their aid with recommendations for books that        yond) who want to use social media and other digital tools
will guide them across uncertain terrain. If you’ve resolved     to be more engaged with the their customers, people they
to become a more open leader in 2016, then you’ll want           lead, and especially other leaders. Li provides practical
to start here.                                                   stories and tips to help you to adapt to this new era of
                                                                 digital engagement.

Discover Your True North
by Bill George (Recommended by Sam Knuth [1])                    How to Develop Emotional Health
                                                                 by Oliver James (Recommended by
Bill George has written extensively on                             Laura Hilliger [6])
authenticity in leadership, which includes
transparency, honesty, and openness.                             A quick and fun read, How to Develop
Discover Your True North [2] draws on                            Emotional Health [7] will help you identi-
George’s personal experiences with                               fy personal hang-ups that may stop you
many authentic leaders across many in-                           from being an open and engaged leader.
dustries, pulling together the themes that contribute to their   James offers solutions and insights on
successes and failures. Consistently, the same principles        how to work through your past, present, and future to lead
Jim explores in The Open Organization [3] emerge as criti-       a mentally healthy, happy, and productive life—touch-
cal leadership traits in the experiences of both George and      stones for good leaders and, indeed, “open sourcers” in
the leaders he profiles. Discover Your True North is not only    general.
a great collection of case studies and experiences but also
a guide to practicing authentic, open leadership for people
at any stage in their careers.


Open Source Yearbook 2015       .O   pensource.com                                                                      47
LEARNING
                ..............   ..
                       .............
   Rework                                                      The Open Organization
   by Jason Fried & David Heinemeier Hansson                   by Philip A. Foster (Recommended by
     (Recommended by Marten Mickos [8])                          Bryan Behrenshausen [12])

   Rework [9] examines organizing work in                      Before The Open Organization by Jim
   the modern world, where people work                         Whitehurst was The Open Organization [13]
   from home and largely know what to do.                      by Philip A. Foster. Although Jim admits that
   It’s full of pithy, illustrated advice (“Pick a             his book isn’t management theory (“I’ll leave
   fight.” “Meetings are Toxic.” “Inspiration                  that to the academics,” he says), Foster’s is
   if Perishable.”) for anyone looking to revamp the work-     unabashedly so. Published in 2014, The Open Organization
   place. Although the authors may not use the term, that      is quite frankly the textbook on what both authors call a “new
   openness is an underlying principle of this book is easy    management paradigm.” Meticulously researched and annotat-
   to see.                                                     ed, Foster’s volume draws on sources running the gamut from
                                                               management theorists to practitioners. And as a neat bonus,
                                                               Foster offers a compelling case study: GitHub, whose mission
   Quiet Leadership                                            to “create awesome” prompted interesting organizational choic-
   by David Rock (Recommended by                               es. For enthusiasts, it’s a moment of precious insight into daily
     Rebecca Fernandez [10])                                   life at a firm embracing the open source mission. For leaders,
                                                               it’s simply required reading.
   Whether you’re a manager, a mentor, or
   both, you want to coach and give feed-
   back in a way that promotes another                         Consiglieri
   person’s growth and contributes to auton-                   by Richard Hytner (Recommended by
   omous decision-making. Through com-                           Laura Hilliger [6] )
   pelling neuroscience, Quiet Leadership [11] shows why
   leaders should stop giving advice and offering up ideas.    Although Consiglieri [14] weighs in heav-
   Learn how to listen more, talk less, and ask the kinds of   ily on the “evil corporate” examples and
   questions that help people find their own solutions.        name-dropping, it contains some wonder-
                                                               ful undertones about being a leader who
                                                               guides rather than directs. The so-called




        How can open source values transform the way we
        work, manage, and lead?




                                                               Join the conversation at:
                                                         opensource.com/open-organization


   48                                                                      Open Source Yearbook 2015       .O   pensource.com
“second in command” is all of us in any given conversation.        [4]	Jason Hibbets: https://opensource.com/users/jhibbets
Knowing to respect and wield that power can help make you          [5]	The Engaged Leader:
an influential leader in distributed networks.                           http://wdp.wharton.upenn.edu/book/engagedleader/
                                                                   [6]	Laura Hillinger: https://opensource.com/users/laurahilliger
                                                                   [7]	How to Develop Emotional Health:
Act Like a Leader, Think Like a Leader                                   http://www.theschooloflife.com/shop/how-to-develop-emo-
by Herminia Ibarra (Recommended by                                       tional-health-oliver-james/
  Jeff Mackanic [15])                                              [8]	Marten Mickos: https://opensource.com/users/martenmickos
                                                                   [9]	Rework: https://37signals.com/rework/
In The Open Organization Jim Whitehurst                            [10]	Rebecca Fernandez: https://opensource.com/users/rebecca
writes: “What I need to do is create the con-                      [11]	Quiet Leadership:
text for Red Hat associates so they can do                               http://www.quietleadership.com/public/content.aspx-
their best work. My goal is to get people                                ?Page=index&AspxAutoDetectCookieSupport=1
to believe in the mission and then create                          [12]	Bryan Behrenshausen:
the right structures that empower them to achieve what once              https://opensource.com/users/bbehrens
might have been impossible.” In Act Like a Leader, Think Like      [13]	The Open Organization:
a Leader [15], Ibarra offers advice on empowering leaders this           http://www.ashgate.com/default.aspx?page=637&calcTi-
way. She writes that in order to act like leaders, we will have          tle=1&isbn=9781472440112&lang=cy-gb
to devote much of our time to the following practices: bridging    [14]	Consiglieri: http://www.consiglieribook.com/
across diverse people and groups, envisioning new possibili-       [15]	Jeff Mackanic: https://opensource.com/users/mackanic
ties, engaging people in the change process, and embodying         [16]	Act Like a Leader, Think Like a Leader:
the change. Ibara then provides detailed ideas for ways leaders          http://herminiaibarra.com/books/
can grow in each of these areas. This book is full of insights,
and can certainly help you become a more open leader.              Author
                                                                   Bryan Behrenshausen has been a member of the Opensource.com
Links                                                              team since 2011. When he’s not thinking or writing about all
[1]	Sam Knuth: https://opensource.com/users/samfw                 things open source, he’s playing retro video games or reading
[2]	Discover Your True North: http://discoveryourtruenorth.org/   classic science fiction. In 2015, he earned his PhD in Commu-
[3]	The Open Organization:                                        nication from UNC, Chapel Hill. Around the Net, he goes by the
     https://opensource.com/open-organization                      nickname “semioticrobotic.”




     The conversation continues
     in this community-produced
     companion to
     The Open Organization.




     Download your free copy at:
     opensource.com/open-organization/resources/field-guide


Open Source Yearbook 2015        .O  pensource.com                                                                               49
      Most Playful
  Best open source games
      of 2015                                                                                                BY ROBIN MUILWIJK




2015         has been a great year for open source and
             Linux gaming. The number of Linux games
continues to grow [1], and Steam Machines [2] finally hit the
                                                                    an advanced AI, intuitive interface, engaging gameplay, and
                                                                    program stability.

                                                                    Credit and copyright Magarena website.
market on November 10. I’d like to give you my picks for the
top five open games of 2015. Which one is your favorite?
And which games do you think should have made the list?

5. SuperTuxKart
At number five we have SuperTuxKart [3], a hugely popular
racing game.
    SuperTuxKart’s gameplay is similar to Mario Kart. What
makes it unique is that it is open source, and its characters
are open source mascots, with Mozilla Thunderbird being
the race referee. A major update for SuperTuxKart was its
0.9 release in April 2015. This release included a highly mod-
ified version of Irrlicht [4], including an entirely new graphics
renderer dubbed Antarctica [5], which enabled better graph-
ics appearance and features such as dynamic lighting, am-           3. Battle of Wesnoth
bient occlusion, depth of field, global illumination, and more.     With number three, we head into a classic, Battle of
The game has been downloaded more than 2 million times              Wesnoth [9].
so far. This number applies to the fork of TuxKart, and also           Gamers that prefer a turn-based tactical strategy game
when Joerg Henrichs resurrected the project with the help of        will love Battle for Wesnoth. Making this game unique is its
Eduardo Hernandez Munoz. More of the game’s history is              high fantasy theme. The game allows you to build your own
available on Wikipedia [6].                                         army, out of 200 unit types. It also includes 16 races, 6 ma-
                                                                    jor factions, and hundreds of years of history. As player, you
Credit and copyright SuperTuxKart blog.
                                                                    are the heir to Wesnoth, and you fight to regain its throne.
                                                                    “The world of Wesnoth is absolutely huge and only limited
                                                                    by your creativity—make your own custom units, create your

                                                                    Credit and copyright Battle of Wesnoth website.




4. Magarena
At number four comes Magarena [7], a single-player fantasy
card game.
  Based on Magic: The Gathering [8], the game lets you play
Magarena against a computer opponent. Magarena includes


50                                                                             Open Source Yearbook 2015      .O      pensource.com
                                                                                                                   MO
own maps, and write your own scenarios or even full-blown         games in our weekly round-
                                                                                                                PL             ST
campaigns.”                                                       ups, including:                                      AY
                                                                  • Relic Hunters Zero [12] is a                         F     UL
2. 0 A.D.                                                            nice game in which you get to
Switching to a historical real time strategy game, at number         shoot evil space ducks in the
two, we have 0 A.D [10].                                             face with tiny cute guns. “It’s
    Although you can already download 0 A.D., this game is           fast, it’s tactical, and feels
in alpha; still, it is playable, and available as native client      delicious and smooth to
for Linux. 0 A.D. is unique in its graphics and rendering,           play.”
backed by positive acclaim. As leader of an ancient civi-         • S crabble3D [13] is
lization, your goal is to gather the resources you need to           open source, based
raise a military force and dominate your enemies. Your civ-          on a GPLv3 li-
ilizations and battles take part over the millennium of 500          cense. You can play
B.C. to 500 A.D. Hence, the name of this game, being the             against the comput-
midpoint: 0 A.D.                                                     er, against players on
                                                                     your local network, or con-
Credit play0ad.com, license CC-BY-SA.
                                                                     nect to a game server online. The real fun in this game
                                                                     is that you can create words in three directions instead of
                                                                     just two.
                                                                  • OpenTTD [14] is an open source simulation game based
                                                                     upon Transport Tycoon Deluxe. As entrepreneur, your goal
                                                                     is to make as much profit as possible by transporting pas-
                                                                     sengers and various goods by road, rail, sea, and air.
                                                                  • SuperTux [15] is a classic 2D jump’n run sidescroller game
                                                                     in a style similar to the original Super Mario games cov-
                                                                     ered under the GNU GPL.
                                                                  You can also find a list of open source games and projects
                                                                  on GitHub [16].

1. Minetest                                                       Links
That leaves us with number one, Minetest [11], an open            [1]	Steam database: https://steamdb.info/
source alternative to Minecraft.                                  [2]	Steam machines:
  Minetest’s gameplay is similar to Minecraft’s. You can cre-           http://store.steampowered.com/universe/machines/
ate and remove various types of blocks in a 3D open world.        [3]	SuperTuxKart: http://supertuxkart.blogspot.co.uk/
Minetest supports singleplayer and multiplayer games.             [4]	Irrlicht: http://irrlicht.sourceforge.net/
Minetest also includes many features, such as support for         [5]	Antarctica:
mods, texture packs, and more. Minetest is released under               http://supertuxkart.sourceforge.net/Antarctica:_Overview
the GNU Lesser General Public License.                            [6]	SuperTuxKart history:
                                                                        https://en.wikipedia.org/wiki/SuperTuxKart
Credit Minetest, license CC BY-SA 3.0 Unported.
                                                                  [7]	Magarena: https://magarena.github.io/
                                                                  [8]	Magic the Gathering: http://magic.wizards.com/
                                                                  [9]	Battle of Wesnoth: http://www.wesnoth.org/
                                                                  [10]	0 A.D.: http://play0ad.com/
                                                                  [11]	Minetest: http://www.minetest.net/
                                                                  [12]	Relic Hunters Zero: http://zueiradigital.com/presskit/rhz/
                                                                  [13]	Scrabble3D: http://scrabble.sourceforge.net/wiki/
                                                                  [14]	OpenTTD: https://www.openttd.org/en/
                                                                  [15]	SuperTux: http://supertuxproject.org/
                                                                  [16]	Games on GitHub: https://github.com/leereilly/games

                                                                  Author
                                                                  Robin Muilwijk is an advisor on Internet and e-Government.
Honorable mentions                                                He also serves as a community moderator for Opensource.
My top 5 is not a complete list of great open games.              com, and on the board for the eZ Publish community. Follow
For example, we covered some interesting and fun                  him on Twitter @i_robin.


Open Source Yearbook 2015      .O  pensource.com                                                                                 51
CREATING
                ..............   ..
                       .............

    10 tools for visual effects in
    Linux with Kdenlive                                                                                               BY SETH KENLON




   Kdenlive                [1] is one of those applications: You
                           can use it daily for a year and wake up
   one morning only to realize that you still have only grazed
                                                                        the Sepia and XPro
                                                                        effects. Admittedly,
                                                                        controls to adjust
   the surface of all of its potential. That’s why it’s nice every      how sepia tone the
   once in a while to sit back and look over some of the less-          sepia effect is would
   er-used tricks and tools in Kdenlive. Even though some-              be nice, but no mat-
   thing’s not used as often as, say, the Spacer or Razor tools,        ter what, when you
   it still may end up being just the right finishing touch on your     need a quick and
   latest masterpiece.                                                  familiar color effect,
      Most of the tools I’ll discuss here are not officially part       this is the filter to
   of Kdenlive; they are plugins from the Frei0r [2] package.           throw onto a clip.
   These are ubiquitous parts of video processing on Linux and          It’s immediate, it’s easy, and if your client asks for that look,
   Unix, and they usually get installed along with Kdenlive as          this does the trick every time.
   distributed by most Linux distributions, so they often seem
   like part of the application. If your install of Kdenlive does not
   feature some of the tools mentioned here, make sure that
   you have Frei0r plugins installed.
      Because many of the tools in this article affect the look
   of an image, here is the base image, without effects or
   adjustment:                                                          2. Colorize
   Let’s get started.                                                   The simplicity of the Colorize filter in Add Effect > Misc is
                                                                        also its strength. In some editing applications, it takes two fil-
   Still image grabbed from a video by Footage Firm, Inc.
                                                                        ters and some compositing to achieve this simple color-wash
   CC BY-SA 4.0.
                                                                        effect. It’s refreshing that in Kdenlive, it’s a matter of one
                                                                        filter with three possible controls (only one of which, strictly
                                                                        speaking, is necessary to achieve the look).
                                                                            Its use is intuitive; use the Hue slider to set the color. Use the
                                                                        other controls to adjust the luma of the base image as needed.
                                                                            This is not a filter I use every day, but for ad spots, bum-
                                                                        pers, dreamy sequences, or titles, it’s the easiest and quick-
                                                                        est path to a commonly needed look. Get a company’s color,




   1. Color effect
   You can find the Color Effect filter in Add Effect > Misc
   context menu. As filters go, it’s mostly just a preset; the only
   controls it has are which filter you want to use.
      Normally that’s the kind of filter I avoid, but I have to
   be honest: Sometimes a plug-and-play solution is exact-
   ly what you want. This filter has a few different settings,
   but the two that make it worth while (at least for me) are


   52                                                                                Open Source Yearbook 2015         .O   pensource.com
use it as the colorize effect, slap a logo over the top of the    of the “canvas” upon which you are compositing the burn-in,
screen, and you’ve just created a winning corporate intro.        not the size of the burn-in itself).
                                                                     The text itself doesn’t have to be timecode. From the drop-
                                                                  down menu, you can choose from a list of useful text, in-
                                                                  cluding frame count (useful for VFX, since animators work in
                                                                  frames), source frame rate, source dimensions, and more.
                                                                     You are not limited to just one choice. The text field in the
                                                                  control panel will take whatever arbitrary text you put into it,
3. Dynamic Text                                                   so if you want to burn in more information than just timecode
For the assistant editor, the Add Effect > Misc > Dynamic         and frame rate (such as Sc 3 - #timecode# - #meta.me-
Text effect is worth the price of Kdenlive. With one most-        dia.0.stream.frame_rate#), then have at it.
ly pre-set filter, you can add a running timecode burn-in
to your project, which is an absolute must-have safety            4. Luminance
feature when round-tripping your footage through effects          The Add Effect > Misc > Luminance filter is a no-options
and sound.                                                        filter. Luminance does one thing and it does it well: It drops
                                                                  the chroma values of all pixels in an image so that they are
                                                                  displayed by their luma values. In simpler terms, it’s a gray-
                                                                  scale filter.




  The controls look more complex than they actually are.             The nice thing about this filter is that it’s quick, easy, effi-
                                                                  cient, and effective. This filter combines particularly well with
                                                                  other related filters (meaning that yes, I’m cheating and in-
                                                                  cluding three filters for one).




                                                                    Combining, in this order, the RGB Noise for emulated grain,
                                                                  Luminance for grayscale, and LumaLiftGainGamma for
                                                                  levels can render a textured image that suggests the classic
                                                                  look and feel of Kodax Tri-X [3] film.

                                                                  5. Mask0mate
                                                                  Better known as a four-point garbage mask, the Add Effect
  The font settings are self-explanatory. Placement of the        > Alpha Manipulation > Mask0mate tool is a quick, no-frills
text is controlled by the Horizontal and Vertical Alignment       way to ditch parts of your frame that you don’t need. There
settings; steer clear of the Size setting (it controls the size   isn’t much to say about it; it is what it is.


Open Source Yearbook 2015      .O  pensource.com                                                                                  53
CREATING
                ..............   ..
                       .............
   Image by Footage Firm, Inc.                    The confusing thing     is being analyzed, and the Graph, which displays information
                                               about the effect is that   about the marked region.
                                               it does not imply com-         Set the marker using the X, Y, Tilt, and Length controls. The
                                               positing. You can pull     graphical readout of all the relevant color channel information
                                               in the edges all you       is displayed as a graph, superimposed over your image.
                                               want, but you won’t            The readout displays a profile of the colors within the re-
                                               see it unless you add      gion marked. The result is a sort of hyper-specific vector-
                                               the Composite tran-        scope (or oscilloscope, as the case may be) that can help
                                               sition to reveal what’s    you zero in on problem areas during color correction, or
                                               underneath the clip        compare regions while color matching.
   (even if that’s nothing). Also, use the Invert function for the            In other editors, the way to get the same information was
   filter to act like you think it should act (without it, the controls   simply to temporarily scale your image up to the region you
   will probably feel backward to you).                                   want to analyze, look at your readout, and then hit undo to
                                                                          scale back. Both ways work, but the Pr0file filter does feel a
                                                                          little more elegant.

                                                                          7. Vectorscope
                                                                          Kdenlive features an inbuilt vectorscope, available from the
                                                                          View menu in the main menu bar. A vectorscope is not a
                                                                          filter, it’s just another view the footage in your Project Mon-
                                                                          itor, specifically a view of the color saturation in the current
                                                                          frame. If you are color correcting an image and you’re not
   6. Pr0file                                                             sure what colors you need to boost or counteract, looking at
   The Add Effect > Misc > Pr0file filter is an analytical tool,          the vectorscope can be a huge help.
   not something you would actually leave on a clip for final ex-
   port (unless, of course, you do). Pr0file consists of two com-
   ponents: the Marker, which dictates what area of the image




                                                                              There are several different views available. You can ren-
                                                                          der the vectorscope in traditional green monochrome (like
                                                                          the hardware vectorscopes you’d find in a broadcast control
                                                                          room), or a chromatic view (my personal preference), or sub-
                                                                          tracted from a color-wheel background, and more.
                                                                          The vectorscope reads the entire frame, so unlike the Pr0file
                                                                          filter, you are not just getting a reading of one area in the
                                                                          frame. The result is a consolidated view of what colors are
                                                                          most prominent within a frame. Technically, the same sort of
                                                                          information can be intuited by several trial-and-error passes
                                                                          with color correction, or you can just leave your vectorscope
                                                                          open and watch the colors float along the color wheel and
                                                                          make adjustments accordingly.
                                                                              Aside from how you want the vectorscope to look, there
                                                                          are no controls for this tool. It is a readout only.

                                                                          8. Vertigo
                                                                          There’s no way around it; Add Effect > Misc > Vertigo is
                                                                          a gimmicky special effect filter. So unless you’re remaking


   54                                                                                 Open Source Yearbook 2015       .O   pensource.com
Fear and Loathing or the movie adaptation of Dead Island,           The softness of the border and the aspect ratio of the iris
you probably aren’t going to use it that much; however, it’s      can be adjusted. The Clear Center Size attribute controls
one of those high-quality filters that does the exact trick you   the size of the clear area, which has the effect of adjusting
want when you happen to be looking for it.                        the intensity of the vignette effect.

                                                                  10. Volume
                                                                  I don’t believe in mixing sound within the video editing appli-
                                                                  cation, but I do acknowledge that sometimes it’s just neces-
                                                                  sary for a quick fix or, sometimes, even for a tight production
                                                                  schedule. And that’s when the Audio correction > Volume
                                                                  (Keyframable) effect comes in handy.




   The controls are simple. You can adjust how distorted the
image becomes and the rate at which it distorts. The overall
effect is probably more drunk or vision-quest than vertigo,
but it’s good.




                                                                     The control panel is clunky, and no one really wants to ad-
                                                                  just volume that way, so the effect is best when used directly
                                                                  in the timeline. To create a volume change, double-click the
                                                                  volume line over the audio clip, and then click and drag to
9. Vignette                                                       adjust. It’s that simple.
Another beautiful effect, the Add Effect > Misc > Vignette           Should you use it? Not really. Sound mixing should be
darkens the outer edges of the frame to provide a sort of         done in a sound mixing application. Will you use it? Ab-
portrait, soft-focus nouveau look. Combined with the Color        solutely. At some point, you’ll get audio that is too loud to
Effect or the Luminance faux Tri-X trick, this can be a power-    play as you edit, or you’ll be up against a deadline without a
ful and emotional look.                                           sound engineer in sight. Use it judiciously, watch your levels,
                                                                  and get the show finished.

                                                                  Everything else
                                                                  This has been 10 (OK, 13 or 14) effects and tools that Kden-
                                                                  live has quietly lying around to help your edits become great.
                                                                  Obviously there’s a lot more to Kdenlive than just these little
                                                                  tricks. Some are obvious, some are cliché, some are obtuse, but
                                                                  they’re all in your toolkit. Get to know them, explore your options,
                                                                  and you might be surprised what a few cheap tricks will get you.

                                                                  Links
                                                                  [1]	Kdenlive: https://kdenlive.org/
                                                                  [2]	Frei0r package: https://www.dyne.org/software/frei0r/
                                                                  [3]	Kodax Tri-X film: http://www.kodak.com/global/en/profes-
                                                                       sional/products/films/bw/triX2.jhtml

                                                                  Author
                                                                  Seth Kenlon is an independent multimedia artist, free cul-
                                                                  ture advocate, and UNIX geek. He is one of the maintainers
                                                                  of Slackermedia, a Slackware-based multimedia production
                                                                  project.


Open Source Yearbook 2015      .O  pensource.com                                                                                   55
CREATING
               ..............   ..
                      .............

   Adafruit’s best open
   source wearables of 2015                                                                        BY BECKY STERN




   Wearable electronics                           have explod-
                                                  ed in the past
   year. Countless small devices are now on the market for not
   only fitness tracking, but posture improvement, sunscreen
   reminders, muscle-sensing gesture control, and much more.
   As technology on the body becomes more pervasive than
   ever, having open source tools for developing wearable
   technology is more important than ever, so that we can cre-
   ate the future of fashion tech while maintaining data privacy
   of biometric sensor data.
      Adafruit [1] makes open source hardware parts, tutorials,      The book covers the basics of the FLORA family of parts,
   and source code for creating your own DIY electronics proj-     tools, and techniques, and three projects to get you started,
   ects. Here are our favorite open source wearable products       including textile switches, dance-activated lights, and a DIY
   and projects from 2015.                                         GPS watch. There’s a FLORA Book Pack [4] available with
                                                                   parts used in the book, and more for building the dozens of
   FLORA v2 (and Getting Started with                              other open source FLORA tutorials available on the Adafruit
   Adafruit FLORA)                                                 Learning System [5].
   The FLORA wearable microcontroller [2] got a hardware
   upgrade this year, adding a micro USB port and onboard          SMSsenger bag with FLORA + FONA
   programmable NeoPixel for prototyping color-changing,           One recent project made with FLORA is the SMSsenger
   Arduino-compatible code before ever connecting it up            Bag [6] —an addressable LED matrix displaying text mes-
   with conductive thread or wire. 2015 also brought Getting       sages it receives to its onboard FONA open source cell
   Started with Adafruit FLORA [3], the beginner’s guide to        phone module. Developing wearable devices that commu-
   wearable microcontroller projects.                              nicate wirelessly is tremendously fun and rewarding, and
                                                                   the open source Arduino libraries for FONA and NeoPixels
                                                                   make it simple for beginners, students, and hobbyists to get
                                                                   started creating personal area network wearables.

                                                                   FLORA Bluefruit LE Module
                                                                   (and Bluefruit LE Connect for iOS/Android)
                                                                   On the topic of networked wearables, the FLORA Bluefruit
                                                                   LE [7] debuted in 2015. This sewable Bluetooth low energy
                                                                   module makes it easy to connect wearables to your phone
                                                                   or tablet for controlling, for example, the color of the LEDs
                                                                   in your dress, and also pushing sensor data to cloud ser-
                                                                   vices like adafruit.io. Build around the Nordic nRF51822,
                                                                   the FLORA Bluefruit LE module can also act as an HID key-
                                                                   board or UriBeacon. The Bluefruit family of boards works
                                                                   great with the (also open source [8]) Adafruit Bluefruit LE
                                                                   Connect apps for Android [9] and iOS [10].


   56                                                                         Open Source Yearbook 2015     .O   pensource.com
Zac Posen “Made with Code” dress                               Links
This year, Google teamed up with Zac Posen as part of their    [1]	Adafruit: https://www.adafruit.com/
Made with Code [11] initiative to create an LED dress with     [2]	FLORA wearable microcontroller:
animating patterns coded by girls all over the world. Mad-           https://www.adafruit.com/products/659
dy Maxey helped bring the dress to life and documented its     [3]	Getting Started with Adafruit FLORA:
hardware construction [12] (using FLORA and NeoPixels) in            https://www.adafruit.com/products/1839
an Instructable about the project, which debuted on the run-   [4]	FLORA Book Pack:
way of New York Fashion Week [13].                                   https://www.adafruit.com/products/2404
                                                               [5]	FLORA tutorials available on the Adafruit Learning System
Arduino GEMMA                                                  [6]	SMSsenger bag:
FLORA’s not the only board that saw a makeover this                  https://learn.adafruit.com/smssenger-bag
year—its little sister GEMMA got a micro USB port and          [7]	FLORA Bluefruit LE:
on/off switch and debuted its new blue cousin, the offi-             https://www.adafruit.com/products/2487
cial Arduino GEMMA [14]. This tiny board built around the      [8]	Adafruit Industries on GitHub: https://github.com/ada-
ATtiny85 microcontroller can control NeoPixels, read sim-            fruit?utf8%3D%25E2%259C%2593%26query%3Dblue-
ple sensors, and is small and low-cost enough to easily              fruit_le_connect
embed in wearables projects. While you can get GEMMA           [9]	Adafruit Bluefruit LE Connect (Android):
v2 in Adafruit or Arduino flavors, the official partnership          https://play.google.com/store/apps/details?id=com.ada-
provides native support for Arduino GEMMA in the Arduino             fruit.bluefruit.le.connect
software IDE, boxed packaging, and best of all supports        [10]	Adafruit Bluefruit LE Connect (iOS): https://itunes.apple.
Arduino.                                                             com/us/app/adafruit-bluefruit-le-connect/id830125974
                                                               [11]	Made with Code: https://www.madewithcode.com/
                                                               [12]	Make a Runway Ready Programmable LED Matrix Dress:
                                                                     http://www.instructables.com/id/Make-a-Run-
                                                                     way-Ready-Programmable-LED-Matrix-Dress/?ALL-
                                                                     STEPS&sa=D&usg=AFQjCNFA7DchWaPAdk-
                                                                     8jA8aLO5gef9Rl0w
                                                               [13]	How To Make a Runway Ready Programmable LED
                                                                     Matrix Dress: https://blog.adafruit.com/2015/09/16/how-
                                                                     to-make-a-runway-ready-programmable-led-matrix-dress-
                                                                     zac_posen-madewithcode-thecrated-wearablewednesday/
                                                               [14]	Arduino Gemma:
                                                                     https://www.arduino.cc/en/Main/ArduinoGemma

                                                               Author
                                                               Becky Stern is a DIY guru and Director of Wearable Electronics
                                                               at Adafruit.




Open Source Yearbook 2015    .O   pensource.com                                                                             57
CREATING
               ..............   ..
                      .............

   5 favorite 3D printing
   projects of 2015                                                              BY HARRIS KENNY




   The desktop 3D                            printing industry con-
                                             tinues to grow at a
   rapid pace. Thanks to its deep-seated commitment to free
                                                                      this summer), SatNOGS Client, and SatNOGS Ground
                                                                      Station. Their team uses 3D printing to prototype hard-
                                                                      ware components, specifically for use in ground stations. In
   software, libre innovation, and open source hardware [1],          2014, SatNOGS won the prestigious and competitive 2014
   there is a proliferation of projects, products, and companies      Hackaday Prize [5].
   that also share these values.
                                                                      A SatNOGS version 2 ground station deployed during
     This post highlights five of the top innovative 3D-print-
                                                                      FOSDEM 2015. Photo by Nikos Roussos. CC BY 2.0.
   ing-related projects in 2015, but with so much going on in the
   community there are bound to be great projects that were
   not included.

   OpenBCI
   OpenBCI [2] is dedicated to developing biosensing for ev-
   erybody. Their flagship product, the Ultracortex, is capable
   of recording research-grade brain activity (EEG), muscle
   activity (EMG), and heart activity (ECG). OpenBCI effec-
   tively uses 3D printing for prototyping and production of
   their headsets and included components. Learn more
   about the Ultracortex Mark 3 (GNU-GPLv3 licensed) in the
   OpenBCI store [3].

   Conor Russomanno of OpenBCO describes his latest project
   based on the OpenBCI open source brain-computer interface.
   Photo by old_school_maker. CC BY 2.0.
                                                                      e-NABLE
                                                                      e-NABLE [6] works together to design, improve, and pro-
                                                                      duce hand devices that empower the user. e-NABLE effec-
                                                                      tively created a low-cost, distributed way to give a helping

                                                                      Talon hand, custom e-NABLE prosthetic hand




   SatNOGS DB
   SatNOGS [4] is a modular and scalable stack for Satellite
   Ground Station implementation. SatNOGS is driven by four
   sub-projects: SatNOGS Network, SatNOGS DB (launched


   58                                                                            Open Source Yearbook 2015     .O  pensource.com
hand, and created some of the go-to designs to demon-          OctoPrint [18], Slic3r [19], BotQueue [20], and MatterCon-
strate the power of distributed manufacturing through 3D       trol [21] continuing to grow, and rapid growth in the avail-
printing. Some of their most popular projects include The      ability of 3D printing materials.
Raptor Hand [7] (BSD licensed) and the Talon Hand [8]             After a great 2015, projects like this inspire us about the
(GNU-GPLv2 licensed). An exciting related emerging proj-       future and what is possible with a collaborative approach
ect is the HACKberry [9] by exiii (CC0 1.0 Universal and       that respects user freedom.
CC BY-SA 4.0 licensed), a 3D printed bionic hand.
                                                               Links
Michigan Tech              MOST’s Magneto 3D printer.
                                                               [1]	What is open hardware?:
                           Photo by J.M. Pearce. GNU Free
Open Sustainability                                                  https://opensource.com/resources/what-open-hardware
                           Documentation License v 1.3.
Technology Lab                                                 [2]	OpenBCI: http://www.openbci.com/
(MOST)                                                         [3]	OpenBCI store: http://openbci.myshopify.com/collections/
MOST [10] is a re-                                                   frontpage/products/ultracortex-mark-3-eeg-headset-kit-as-
search group known                                                   sembly-required
for conducting some of                                         [4]	SatNOGS: https://satnogs.org/
the most cutting edge                                          [5]	SatNOGS wins the 2014 Hackaday Prize:
research on 3D print-                                                http://hackaday.com/2014/11/13/satnogs-wins-the-2014-
ing and open source                                                  hackaday-prize/
hardware. Earlier this                                         [6]	e-NABLE: http://enablingthefuture.org/
year, their team started                                       [7]	Raptor Hand: http://enablingthefuture.org/upper-limb-pros-
to integrate a new set                                               thetics/the-raptor-hand/
of recycling codes into                                        [8]	Talon Hand: http://enablingthefuture.org/upper-limb-pros-
all 3D printed polymer                                               thetics/talon-hand/
designs [11], enabling                                         [9]	HACKberry: http://exiii-hackberry.com/
them to close the ma-                                          [10]	Michigan Tech Open Sustainability Technology Lab (MOST):
terial loop in their lab.                                            http://www.mse.mtu.edu/~pearce/Index.html
They also made great                                           [11]	Polymer recycling codes for distributed manufacturing
strides in low-cost metal printing, addressing the substrate         with 3-D printers: http://www.appropedia.org/Polymer_re-
release problem for metal printing [12]. Learn more about            cycling_codes_for_distributed_manufacturing_with_3-D_
the newest design of their metal printer, code-named Mag-            printers
neto [13] (GNU-GPLv3 licensed).                                [12]	In Situ Formation of Substrate Release Mechanisms for
                                                                     Gas Metal Arc Weld Metal 3-D Printing:
RepRap                                                               http://www.appropedia.org/In_Situ_Formation_of_Sub-
RepRap [14] has been instrumental to the early and con-              strate_Release_Mechanisms_for_Gas_Metal_Arc_Weld_
tinued free/libre/open development of desktop 3D printing.           Metal_3-D_Printing
The community continues to grow this year, with early de-      [13]	Integrated Voltage—Current Monitoring and Control of
velopers like Josef Prusa’s Prusa Research [15] growing,             Gas Metal Arc Weld Magnetic Ball-Jointed Open Source
electronics company developer UltiMachine [16] advanc-               3-D Printer: http://www.appropedia.org/Integrated_Volt-
ing core technologies, software projects like Cura [17],             age%E2%80%94Current_Monitoring_and_Control_of_
                                                                     Gas_Metal_Arc_Weld_Magnetic_Ball-Jointed_Open_
RepRap workshop in Gdańsk, Poland                                    Source_3-D_Printer
                                                               [14]	RepRap: http://reprap.org/
                                                               [15]	Prusa Research: http://shop.prusa3d.com/en/
                                                               [16]	UltiMachine: https://ultimachine.com/
                                                               [17]	Cura: https://ultimaker.com/en/products/cura-software
                                                               [18]	OctoPrint: http://octoprint.org/
                                                               [19]	Slic3r: http://slic3r.org/
                                                               [20]	BotQueue: https://www.botqueue.com/
                                                               [21]	MatterControl: http://www.mattercontrol.com/

                                                               Author
                                                               Harris Kenny is Vice President of Marketing at Aleph Objects,
                                                               Inc., makers of the LulzBot line of desktop 3D printers, parts,
                                                               and plastics. Prior to joining Aleph Objects, he worked in
                                                               management and ERP consulting.


Open Source Yearbook 2015    .O   pensource.com                                                                            59
                            .  ........
                              ... .. ...
O P E N S O U R C E . C O M .. .. .. ....
                                         . .
EDITORIAL CALENDAR
                                   ..............   ..
                                          .............
        Would you like to write for us?
        Our editorial calendar includes upcoming themes, community columns, and topic
        suggestions: https://opensource.com/calendar

        Getting Started in Open Source
        We’re looking for articles about how to start using an open source solution or contribute to a project, how
        to find the right open source community to join, advice for making money in open source, how to find (or
        start) local user groups or meetups, and tips for attending tech conferences.

        Careers in Open Source
        We want to hear about your open source-related work, tips for succeeding in a tech career and for show-
        ing open source skills on tech resumes, advice for advancing your career by growing your network, and
        insights into how attending conferences can get you hired.

        Diversity in Open Source
        How did you increase diversity in your project and community? Tell us about your open source-related
        grants or scholarship opportunities . Do you have tips for attracting a more diverse pool of contributors?
        How has increasing diversity in your community helped?

        Open Science
        Interesting open science topics include open hardware tools with sensors being used to take field measure-
        ments; big data processing; education and science software for Linux (for example, Celestia space simula-
        tor, Avogadro for molecular modeling, GRASS/QGIS software for geospatial sciences, R/Julia for statistics,
        and niche applications we’ve never heard of); why openness matters in the sciences; recent discoveries
        made using open tools and/or open data; a roundup of journals being published under open licenses.

        Open Hardware
        Show off your HowTos, tutorials, and demos of open hardware in the wild.

        Open Source in Entertainment
        We’re looking for stories about how open source tools, projects, and communities keep us entertained.

        Open Source Events
        Share best practices for organizing a local meetup or online hack-a-thon, tips for organizing a community
        conference, and lesson learned from hosting or attending an open source-related event.

        Open Source in Education
        Which open source tools are helpful for the classroom? How are open source technologies being used
        or taught in your schools? We’re always excited to hear how open source is helping education, so send
        us your stories.

        Open Source Around the World
        What role does open source play in your country’s government? Which projects are active in your local
        communities? How are humanitarian open source solutions helping international communities? How has
        your work in open source helped you connect with people in other countries and collaborate with interna-
        tional contributors? How does your remote international team collaborate? Tell us about how your career
        in open source has allowed you to travel the globe.


   60                                                                      Open Source Yearbook 2015      .O  pensource.com
                            .  ........
                              ... .. ...
O P E N S O U R C E . C O M .. .. .. ....
                                         . .
W R I T E      F O R         U S
                                      ..............   ..
                                             .............
     7 big reasons to contribute to Opensource.com:
             1    Career benefits: “I probably would not have gotten my most recent job if it had not been for my articles
                  on Opensource.com.”



             2     Raise awareness: “The platform and publicity that is available through Opensource.com is extremely
                   valuable.”



             3     Grow your network: “I met a lot of interesting people after that, boosted my blog stats immediately,
                   and even got some business offers!”



             4     Contribute back to open source communities: “Writing for Opensource.com has allowed me to give
                   back to a community of users and developers from whom I have truly benefited for many years.”



             5     Receive free, professional editing services: “The team helps me, through feedback, on improving my
                   writing skills.”



             6     We’re loveable: “I love the Opensource.com team. I have known some of them for years and they are
                   good people.”



             7     Writing for us is easy: “I couldn't have been more pleased with my writing experience.”


     Email us to learn more or to share your feedback about writing for us: https://opensource.com/story
     Visit our Participate page to more about joining in the Opensource.com community: https://opensource.com/participate
     Find our editorial team, moderators, authors, and readers on Freenode IRC at #opensource.com: https://opensource.com/irc



F O L L O W         U S
                             ..............   ..
                                    .............
             Twitter @opensourceway: https://twitter.com/opensourceway
             Google+: https://plus.google.com/+opensourceway
             Facebook: https://www.facebook.com/opensourceway
             Instagram: https://www.instagram.com/opensourceway
             IRC: # opensource.com on Freenode

     All lead images by Opensource.com or the author under CC BY-SA 4.0 unless otherwise noted.
Opensource.com/yearbook