The 2015 Opensource.com Reading List
The 2015 open source summer reading list
A decade of good books
It's 2004. Google files its IPO. A group of undergrads launch something called "The Facebook" at Harvard University. Apple's most popular pocket i-thing is years away from taking phone calls. A curious new Linux distribution called "Ubuntu" appears.
Opensource.com doesn't exist. It won't for another six years.
Tech-savvy readers hungry for open source stories subscribe to another publication: Red Hat Magazine. That publication is actually the product of a marriage between two others: Under the Brim, a digital newsletter Red Hat launched in 1999, and Wide Open Magazine, a short-lived glossy in the same vein.
And something else appears online: the first recorded instance of the open source summer reading list.
A decade-old reading list runs the risk of seeming quaint, even naive. A proper dose of hindsight might make the issues it addresses feel old-fashioned. But the 2004 open source summer reading list is remarkable for just how relevant its entries remain today. Eric Raymond's oft-cited The Cathedral and the Bazaar is there, then only three years old. Guides for learning new computer skills—like Linux router maintenance, programming in Python, and utilizing UNIX—are as crucial today as they ever were. The list's only work of fiction, Neal Stephenson's Cryptonomicon, continues to delight. Open source communities might embrace blindingly rapid development, but the ideas that galvanize and drive them haven't change much in the last ten years.
If the open source summer reading list is even older than Opensource.com itself, then the values that inform it are older still. Another decade of wonderful books won't change them.
by Adam Grant (recommended by Jeff Mackanic)
Do nice guys finish last?
Give and Take provides the answer to this age-old question.
In this extremely engaging book, Adam Grant (the youngest tenured professor and the single highest rated teacher at The Wharton School) divides the world into "takers," "matchers," and "givers" in order to determine which style is the most successful. Takers strive to get as much as possible from others; matchers aim to trade evenly; givers contribute to others without expecting anything in return.
From research, Grant found that some givers do finish last, while other givers finish at the very top. This leads to the key questions driving this book: Why are some givers so much more successful than other givers? What are the key characteristics of successful givers?
Give and Take is extremely important to Opensource.com readers, since givers are the key ingredient in robust communities. A community made up of takers will not be a very healthy community.
One exercise Grant conducts with both business leaders and students is called "the reciprocity ring." In the reciprocity ring, each member makes a request to the group, and other members of the group use their knowledge, resources, and connections to help fulfill the request. Grant always encounters skepticism about the exercise and its effectiveness. But the ring is very successful. The exercise disrupts some of our normal patterns. First, it makes asking for help seem safer. And second, as people start to publicly offer help, they encourages takers to act live givers.
Grant takes a closer look at the Freecycle and Wikipedia communities to illustrate the importance of givers in a healthy community. He writes that "people are motivated to give to others when they identify as part of a common community."
Finally, Grant provides some great tips for becoming a successful giver.
For example, he explains how to avoid giver burnout: Be sure to give in a place where your contribution makes a noticeable impact. Do not "spread out" your giving; giving in larger "chunks" is more effective, since you will see the impact of your giving.
If you're searching for ideas about ways to grow your community, then I highly recommend reading Give and Take. Bonus: Grant is also a professional magician and offers a magically entertaining overview of the book.
by Cory Doctorow (recommended by David Both)
Books that deal accurately with technology are extremely rare. And books that contain significant references to open source software—references that are likewise on target—are so rare as to be non-existent. I have found only one such book that deals with open source software in a satisfying way: Little Brother.
This Orwellian story by Cory Doctorow is one of the most interesting and terrifying predictions of the use of technology I have ever read. In May of 2008, it debuted at No. 9 on the New York Times bestseller children's list and has earned numerous awards including the 2009 White Pine Award, the 2009 Prometheus Award, and the 2009 John W. Campbell Memorial Award.
Its protagonists are all teenagers, so this is generally considered a youth book. But its themes are very adult. Its main theme is the use of terrorism by a police state to intimidate citizens and justify the expansion of already draconian surveillance measures (which results in resistance from the teen hackers). The characters that inhabit this highly surveilled world are gritty and realistic.
Settings range from San Francisco to Burning Man. The event that triggers the plot is a series of explosions in San Francisco that result in the capture of protagonist Marcus Yallow and some of his hacker friends. After some of them are released from a secret prison, they band together with others to try to fight back and regain some real security and privacy while restoring their dignity.
The depiction of technology throughout the book is quite accurate and includes a fictitious distribution called ParanoidLinux and the very real TOR (The Onion Router)—both of which characters use to circumvent the invasive surveillance of Homeland Security.
Many people consider this book to be quite subversive, and in some ways it certainly is. It is also a warning about the dual-edged sword represented by every kind of technology ever invented. From the first time our ancestors used rocks to kill dinner and then turned those tools on their neighbors in order to keep that food, all the way to today's powerful computers in a phone, technology can be used for good and evil. This book asks us to explore how we are using both the technology we already have—and that of the near future.
by David Lang (recommended by Girish Managoli)
It's a DIY book on DIY!
Scratch that. It's actually DIT (Do-It-Together): the art of finding other people and co-creating together.
The book remains truthful to its stated themes. It's a map of the current maker landscape, one meant to get readers up to speed efficiently. Based on the author's own journey from a "zero" to creator of an underwater Remote Operated Vehicle (ROV), the book does a remarkable job of showing us all the dots and how to connect them. Those dots connect into things like laser cutters, CAD/CAM tools, everyday electronics, and Arduino boards.
The book makes no assumptions, and it explains ways to get started as well as how to know "just enough" to achieve what you want. It explores projects as humble as a toaster or elastic wallet, and as exotic as a desktop jellyfish tank, homegrown food, a foldable kayak, or a drone.
Emphasizing the "together" part of DIT, the book helps readers understand how to find the right people—how to find a maker group or form one's own, how to take advantage of maker faires, and how to access necessary tools through hackerspaces, makerspaces, and tool lending libraries.
Lang strongly pitches the open model of making; he built his own OpenROV completely the open source way. The book dedicates a chapter to taking that idea public, and it provides an open framework for commercialization while making use of platforms such as Kickstarter. In the spirit of open source, the book is, in the end, about giving back—making more makers, building a maker culture, and raising maker-curious kids.
The spark this book ignites is hard to diffuse. Here's to the culture of persistent tinkerers and makers.
by Cory Doctorow (recommended by Bryan Behrenshausen)
The title of Doctorow's recent non-fiction collection alludes—and not too subtly—to one of the Information Age's most pervasive maxims: "Information wants to be free." Historians typically attribute that koan to Stewart Brand, who first uttered it in 1984 as part of a back-and-forth with Apple co-founder Steve Wozniak. It has since come to serve the digital era as a kind of social and technical touchstone. More than three decades of repetition have made it seem indisputable.
Doctorow has little love for it.
"It's time to kill it," he writes. "The 'desires' of information are totally irrelevant to the destiny of the Internet, the creative industries, or equitable society. Information is an abstraction, and it doesn't 'want' anything. Information doesn't want to be free—people do."
Doctorow believes that last sentence so much that he's organized a book around it. "Information doesn't want to be free" is actually the third of the three "Doctorow's Laws" this volume showcases.
The first is a mouthful, though no less true for being so: "Any time someone puts a lock on something that belongs to you and won't give you the key, that lock isn't there for your benefit." Doctorow devotes this section of the book to writings on copyright, anti-circumvention mechanisms, the history of digital rights management, and the war on general-purpose computing. It's Doctorow's usual shtick, but, as always, the author finds ways to make it pop. The second of Doctorow's Laws, "Fame won't make you rich, but you can't get paid without it," launches a section on the work of being a creator in the 21st century. Doctorow tackles pressing questions about independent publishing, intermediaries—even SOPA and PIPA. It's all of interest to Opensource.com readers.
But the real draw here is Doctorow's writing on information's relationship to human rights. Today, he argues, we simply can't conceive one without the other—which is why so much talk about the former's "desires" can actually hinder the success of our battles for the latter. Assumptions about information's supposed autonomy might actually paper over the very human struggles always subtending information politics. Doctorow would like to see us forget the entire metaphor. As he quipped at a visit to my local bookstore two years ago: "Information doesn't want to be free. I asked information what it wants, and all it said was 'Don't anthropomorphize me.'"
by Mickey Petersen (recommended by Scott Nesbitt)
Until a few years ago, I did most of my writing in the Emacs text editor. No, I wasn't one of those über Emacs geeks who used it as an operating system. I just wrote and published using the editor. Then other, younger editors seduced me away from Emacs.
Earlier this year, though, I decided to return to Emacs. The problem was that my Emacs kung-fu was rusty. Very rusty. Worse, an overseas move forced me to find a new home for my favorite reference, Learning Emacs. On the advice of an Emacs-obsessed pal, I plunked down some cash from my PayPal account and bought a copy of Mastering Emacs. Based on Peterson's blog of the same name, the book is a detailed guide to the editor. It's good for anyone who's starting with Emacs as well as anyone who (like me) needs a refresher.
The book aims at a fairly technically-savvy audience. If that's not you, then you'll find parts of the book a bit hard to follow. Petersen does a good job of explaining the slightly abstruse Emacs terminology, though. Regardless, you can skip the parts that don't interest you. In fact, Petersen encourages you to do just that: learn the commands and features you frequently use, and turn to the online help (or the book) when you need to.
I found Mastering Emacs to be a solid refresher that's helping me get back up to speed on Emacs. And while I'm not interested in mastering the editor, with the help of this book I definitely could.
by Richard Adams (recommended by Dave Neary)
A classic children's tale, this book follows the adventures of a group of rabbits as they travel across the English countryside in search of Watership Down. The story follows one young rabbit, Hazel, as he leads a small herd of rabbits from their warren through dangerous terrain, meeting other groups of rabbits along the way.
In the foreword, Adams insists that the book is just a collection of stories he used to tell his daughters in the car, not an allegory about leadership and government. But that is hard to believe. The Sandleford warren and its class based system, the helplessness of the rabbits in Cowslip's Warren (who have surrendered to a cruel higher power), and the police state of Efrafa are too much of a caricature to believe in this coincidence.
The lessons of Hazel's leadership in his struggle to keep the group together and safe are extremely valuable in communities. Hazel takes care to listen to the quiet, the weak, and the marginalized, and ensures the group is aware of—and values—their contributions. But he also knows how to use the strengths of others in the group: Blackberry's intelligence in using tools, Bigwig's strength and bravery, Holly's loyalty, and Pipkin's caring nature.
Hazel uses his instincts to keep the group together and lead it, even when he is not certain about the path it's on. And he is a true leader, unafraid to do the dangerous tasks necessary for finding the safe path, or to explore strange lands instead of asking others to take the burden. Ultimately, he cares for all of the members of the group, and feels a personal responsibility for their safety, which means that others are happy to follow him.
I highly recommend this book as a bed-time story series for younger kids, or as summer reading for adolescents and adults alike.
by Carlos Bueno (recommended by Ruth Suehle)
Lauren Ipsum: A Story About Computer Science and Other Improbable Things is a great book for the young coder-to-be in your house. But it's not a programming book. It's a novel.
The book starts as many classic tales do: with a little girl (Lauren) lost in the woods. This one takes a Carroll-esque turn when Lauren encounters creatures like the wild Jargons, who start out looking cute, but then swarm and spout nonsense at her (one alone isn't much to worry about, but in a pack they feed on fear and confusion). She meets a part-chamelon, part-Steganosaurus named Xor and an idea composer named Eponymous Bach. She finds places like the Upper and Lower Bounds, Recursion Junction, Tautology, and Mile Zero. She answers Ponens and Tollens so she can pass through the Semantic Turnstile, and Hugh Rustic helps her look for a path that is not necessarily the shortest but is good enough. "Improbable we can do right away," he says. "Impossible, by Tuesday at the latest."
If you are a programmer, these creatures and places likely sound familiar. Through its form as a novel, Lauren Ipsum explains programming concepts in a way that kids can easily grasp without its being a programming book, something that—let's be honest—isn't known for its exciting turns and breathlessly awaited ending. But Lauren and her adventurous trip through Userland is the opposite. And at the end of the story, "The Field Guide to Userland" is an appendix that explains things like Hugh Rustic's heuristics and why Xor is a terrible chameleon, given that "A xor B" means he and his leaf can't both be green at the same time.
For your kids, it's a great introduction to some heavier programming concepts. For you, it's a quick and fun read. You'll know what's coming, and you'll still enjoy watching it happen.
by Kurt W. Beyer (recommended by Joshua Holm)
In the computer industry's brief history, few figures are as influential as Admiral Grace Hopper. Her career spanned decades, and her accomplishments shaped modern computing as we know it. Hopper passed away several years ago, and as is often the case with historical figures, reducing them to just a few, hopefully authentic, anecdotes becomes easy.
Refraining from failing into that trap, Grace Hopper and the Invention of the Information Age paints a complete picture of Hopper, exploring her life beyond just a few iconic moments in computer history. Yes, Grace Hopper was the grandmother of COBOL, popularized the term debugging, and developed the first compiler, but she was more— much more—than just several key contributions.
Beyer covers all the key moments in Hopper's professional career, but he also explores her complex life, with its challenges and successes, its ups and downs. Beyer explores the fullness of Hopper's life, and in doing so makes her more human and relatable.
Beyer's biography clearly shows why Grace Hopper deserved her "Amazing Grace" nickname, but does not idolize its subject. Hopper was a trailblazer and holds the distinction of being "first" for many critical developments in computers, but Beyer shows the world a Grace Hopper that is inspirational without being intimidating, someone who was flawed and human, just like the rest of us. The Grace Hopper in Beyer's book is someone people in the computer industry can look up to and emulate professionally, without feeling that they need to live up to some kind of idealized myth.
I highly recommend the book to anyone interested in learning more about Grace Hopper and the dawn of the computer era.
by Various Authors (recommended by Aleksandar Todorović)
SHARE Conference was a conference held twice in Belgrade (Serbia) and once in Beirut. But more important than the conference itself is the fact that the organizers have published a book full of awesome essays, interviews, and transcripts of talks covering topics like open source software, activism (hacktivism), decentralization, transparency, education, and more.
Although the conference is over, the book remains more relevant than ever. It emphasizes sharing as the most important thing you can do to improve the world. Whether you're sharing your code, your thoughts, your knowledge, or something else, the important thing is to share and improve yourself by consuming content that others share. By improving yourself and the people around you, you are, in fact, improving the world one small step at a time.
Because this book emphasizes sharing, its digital version is free to the public under a Creative Commons license. Most of the essays are short and unrelated to each other, but combined they tell a wonderful story—a story about sharing.
by Jim Whitehurst (recommended by Jen Wike Huger)
There's so much to say about this debut book by Red Hat CEO Jim Whitehurst. At first blush, it's a recollection of a CEO's experiences at the top of a company. Red Hat hired Whitehurst in 2008, and he has been leading—or rather, catalyzing—the world's leading open source company for nine years.
When you read a bit deeper, however, you'll see that the book is really the story of a relationship. Whitehurst recounts his first round of interviews as Red Hat executives searched for a CEO who fit the company's unique culture—and the excitement he felt as he considered what it might be like to be a part of such a different organization. An open organization, he later realized, would not fit any sort of model he had in mind when he took the reins at Red Hat. Whitehurst shares his experiences catalyzing the efforts of thousands of employees towards a common goal. He even had a hand in revamping the company's mission statement, a process that incorporated ideas and feedback from associates around the world.
In Whitehurst's book, we learn that traditional top-down leadership and management styles of old are, well... old news. Today's associates are talented and creative, and they demand a place at the table where people make decisions. Decision making in the organization, then, must change. But how? As Whitehurst shows us in The Open Organization, it's a process that takes constant evaluation, engagement and buy-in from associates, faster failure, a commitment to openness, and much more.
by Charlene Li (recommended by Jason Hibbets)
Charlene Li defines an engaged leader as someone who uses digital, mobile, and social tools strategically to achieve goals related to leading people and organizations. And we certainly need traditional leaders to learn this new method for engaging customers and employees alike. If you're using social media to make connections and not seeing the kind engagement you'd like, then this book will provide you with ideas, direction, and examples to help you change your strategy.
The book demonstrates many parallels to open source communities, particularly with regard to leadership. Li emphasizes creating a trusting environment in organizations (and communities) when she says, "Organizational leaders today need to trust that their employees will exercise good judgment in making decisions."
One of my favorite examples from the book comes from the CEO of Telstra, David Thodey, who talks about the power of community. He says "organizations are nothing more than a community of people coming together to hopefully achieve something bigger than what they could individually."
But topping that is Thodey's discussion of creating a culture of openness and transparency. He writes: "Transparency creates accountability and individuals opt in to make a difference." It sounds very similar to the principles we champion in open organizations.
One of my favorite quotes comes from Li: "When leaders share, they engage and attract followers." If you are interested in listening at scale, learning how sharing can shape, seeing how engaging can lead to transformation, and using digital leadership to transform an organization, then The Engaged Leader should be on your reading list and in your reference library.
by Al Sweigart (recommended by Rikki Endsley)
Opensource.com recently published an article from Al Sweigart, "Practical Python programming for non-engineers." Sweigart is the author of several programming books, including his newest release, Automate the Boring Stuff with Python, and a book that I've had sitting on my bookshelf, Invent Your Own Computer Games with Python.
Although I bought the paperback version of Invent Your Own Computer Games with Python (long live print!), you don't have to. Sweigart's Python programming books are available for free on inventwithpython.com, and, with the exception of Automate the Boring Stuff with Python, you can also download free .pdf, .mobi, and .epub versons. Links to buy the printed titles through Amazon are also on his site, and Sweigart donates all the proceeds from Hacking Secret Ciphers with Python to the Electronic Frontier Foundation, Creative Commons, and the Tor Project.
I've found that I often prefer printed books, so I made my purchase last year as part of my "I'm going to learn Python" plan, which I've had for a few years now. But I mean it this time, and I've even found a colleague who plans to spend a few "Python programming happy hours" with me over the summer as we work through cocktails and Invent Your Own Computer Games with Python. If all goes according to our brilliant plan, we'll have a report about our Python programming happy hours on Opensource.com later this year.
For fun summer Python programming with kids, check out Sweigart's new Opensource.com article, "6 tips for teaching kids to code." In addition to offering practical advice, Sweigart includes a bunch of free online programming resources for children and teens. Happy reading, and have fun programming!
by Alan November (recommended by Phil Shapiro)
This summer I've been enjoying Who Owns the Learning? by Alan November. This book has some fascinating parallels to Jim Whitehurst's The Open Organization, as it explains different ways teachers and school administrators can empower learners by giving them more control of their learning. In the same way trust—wisely applied—allows company workers to flourish, trust—wisely applied—allows learners to flourish.
November came to this realization when one of his teen students broke into a high school computer lab over the summer, back in the early 1980s. The school sent November to reprimand this student. The reprimand never took place, though. Instead, November ended up learning a lesson about the joys of computer programming from Gary, this high school student. The student convinced November to allow him to borrow a school computer for a weekend (an unheard thing back in the early 1980s). Over the course of that weekend, the student completed an entire summer computer programming class, handing in completed assignments, along with the computer, the following Monday.
Reading this book, you quickly understand that November is the humane educator the world has been waiting for (you can hear more of his teaching stories in his captivating 2011 TEDx talk). Compare and contrast his teaching methods with those of exemplary educator Charlie Reisinger in Lancaster, Pennsylvania's Penn Manor School District. We should perhaps stop looking for extra-terrestrial intelligence. Why? We've just now located true intelligence here on Earth. Grab this book and your mind will open—guaranteed. And if possible, attend the annual Building Learning Communities conference that November organizes each summer.
by Charles Severance (recommended by Jason Baker)
Last summer, I recommended a book on data visualization. Playing with data has always been something I've enjoyed doing, both professionally and just for fun. Whenever I come across a cool data set (or just want to help myself understand what's really going on) I try to find a way to plop it on a map, into a chart, or otherwise find a way to bring more sense to the numbers.
This summer, I'm working through a book with a related focus, but this time on the analytics side. Python for Informatics: Exploring Information is a book about exactly what its title implies: using the Python programming language to make sense of raw data. Python for Informatics is a great introduction for someone who doesn't have much Python experience, or perhaps even much programming experience at all! It will take you through the basics of getting started with Python and the fundamental components of a computer program, with exercises designed around information processing.
But if you're already a Python pro, fear not! There's something here for you as well. Unlike many beginner-level programming books, this one chooses useful and modern examples for data acquisition and processing—scraping webpages, using web APIs, parsing JSON and XML, and storing and retrieving your data in SQL databases.
Once you've moved through this book, you might consider picking up Python for Data Analysis by Wes McKinney, which will help you through the next steps of using Python libraries and tools like NumPy, pandas, matplotlib, IPython, and SciPy to help you make even more sense of numbers. This book also provides a perfect starting point for those with stronger programming and analytics backgrounds.
In any case, if you don't have a summer project already, why not make this the year you learn how to turn data into information?
by Bryson Payne (recommended by Ruth Suehle)
As I often give talks about the Raspberry Pi (having written a book about projects with that device), people often ask me for the best way to teach kids basic programming, especially if you're a parent who isn't a programmer. No Starch Press has always been on top of that target, and this spring they released a new book in their "for kids" line, Teach Your Kids to Code: A Parent-Friendly Guide to Python Programming. What makes this one particularly appealing to many people is its team approach: you don't have to be a programmer to use this book to teach your kids to code. Instead you'll learn to code together. No Starch Press founder Bill Pollock describes it as "a kind of 'let's play catch or kick a soccer ball,' but the ball is code, and the fun comes in learning to program as a team."
This book, like all of No Starch's "for kids" books, features colorful illustrations and reasonably large print to help keep young readers engaged. It begins with the fundamentals: "What is a computer program?" By the end, you've learned the basics of animation, interaction, and game design, and you've created a simple Pong-style game.
If you enjoy this book, I'd also recommend several of the others from No Starch Press, including:
Even better, the current Humble Book Bundle includes several of these—along with a few Lego books—for a pay-what-you-want price.