Friday, May 25, 2007

Book Reviews

In preparation for both Google Summer of Code and my computer science writing course's final paper, I read several books. Since both subjects are about open-source software, I bought three books on this topic:

The first was Open Sources 2.0, edited by Chris DiBona (of Google fame), Danese Cooper, & Mark Stone. I thought this book was just a second edition to Open Sources: Voices from the Open Source Revolution, but it turns out it's more of a second volume. I'll have to get the other one to read as well.
This book really blew me away and kept my interest. It's a collection of essays regarding creating open-source software and the culture around it. The introduction takes the reader to the Burning Man festival, and compares its culture with that of open-source. I found that this introduction really got me in the mood for the rest of the book. A few chapters that I found particularly interesting were Chris DiBona's "Open Source and Proprietary Software Development", Jeremy Allison's "A Tale of Two Standards", and Bruno Souza's "How Much Freedom Do You Want?" Considering the wide range of topics covered on both proprietary and open-source software development, I feel that anyone and everyone interested in writing software professionally should have to read this book.

The second was Producing Open Source Software by Karl Fogel. This book could very well be considered "The" book on administrating and participating in open-source projects (and in fact, its subtitle is "How to Run a Successful Free Software Project"). Fogel gives an overview of all of the components of open-source projects, as well as things that can go wrong and ways to prevent them from doing so. In terms of books for my paper, I probably could have just read this one and had all the information I needed. Definitely a good read and highly recommended.

The last was The Success of Open Source by Steven Weber. Since I had already read Producing Open Source Software, I found this book to be mostly a rehashing of information. It focuses more on administrata, law, and culture rather than the specific components of free software, but Fogel's book had a lot of that as well. In terms of writing style, I found it to be a bit dry but interesting enough to keep me reading. A good read if you're interested in the above topics, but not so much if you'd rather get into the more technical side of things.

In order to prepare for my work with OpenMRS, I picked up a few books about XForms, XML schema, and macros.

The first book I started reading was Definitive XML Schema by Priscilla Walmsley. This is a pretty good (and thick) book with everything you'd need to know about XML schema. There are plenty of examples to look at and understand, and Walmsley seems to give pretty sufficient treatment to the topics covered. I chose this book over the O'Reilly version because O'Reilly's seemed too dry and terse for what I needed.

I'm currently working through XForms Essentials, an O'Reilly book by Micah Dubinko. So far I'm loving it. It gives an introduction to XML forms (and tells why they're better than HTML forms), and describes all of the components that make up XForms. Examples are given, and this book could also serve as an XForms reference since it gives listings and descriptions of things like XPath functions and XForms datatypes. Definitely worth picking up if you're looking to work with XForms.

I haven't had a chance to sink my teeth into it yet, but I also picked up Macros Explained by Andrew Pitonyak, published by Hentzenwerke Publishing (I make special mention of the publisher here because their motto is "Moving from Windows to Linux", and I'd like to explore what other books they have on this subject at some point). While I haven't read much of it yet, it looks like a pretty solid guide to working with macros and using the Basic language. It should also serve as a handy reference for when I need to look up a specific function. Unfortunately, it doesn't seem to go into advanced topics like accessing the API from Python/Java(script)/etc.

All in all, some really exciting books. Open Sources 2.0 is probably the coolest, so pick it up. Also, I have several more books on my Amazon wishlist, so feel free to be my best friend and buy me one =)


Kaj Kandler said...

Hi there,
Andrew's book predates all the effort s of making extendable. That is why it does not ave much detail about the API.

Also check out Andrew's updated notes on OOo macros which are the basis for his book.

Busy, supporting non technical users of OpenOffice.

Sarp said...

I read "Producing Open Source Software" today by Karl Fogel, what a coincidence to see it mentioned on your blog :) I hope to receive Chris' new book as the GSoC suprise =) I would also suggest The Cathedral and the Bazaar and Perspectives on free and open source software if you have the time.