Watching the commercial software industry frenetically trying to make process work occasionally feels similar to watching tragicomedy. This constant struggle of trying to force their feet into these tailor-made development processes left and right: agile, lean, scrum, kanban, even waterfall, whatever, just because some manager or “tech-lead” read a blog post. The Emperor’s New Groove, eh?
It can be a really shocking experience to observe this rather bizarre circus sometimes.
But what is even more astounding is that these corporations often seem ignorant towards open source cultures and ideals. Do they know they exist? Are they ignorant? Or is decentralization and meritocracy so scary (even threatening) to leaders of the organization? Maybe. Who knows. Go figure.
But in the context of corporations, I cannot help thinking about people like Jim Whitehurst, President and CEO of Red Hat. This man seems to be a humble and smart guy, wanting the best for his people and company. What has Jim seen that so many others have not?
Well, if you work at a company that struggle with process without getting any real work done, you first have to realize that “Culture is King”. You will never get process right without culture, ideals and beliefs. One important difference between culture and process is that culture is never forced. Culture is more like a garden or family. Treat it carefully, give it freedom and nourishment to grow and eventually (with good seeds of course) it will flourish and process emerge in a strong and natural way.
I’m not saying that open source is the answer per se; not everything must be open source, but open source culture accumulates so much timeless experience, healthy principles and working ethics. On the contrary, corporations often lose invaluable information along with people leaving them and they constantly struggle to re-build expertise and educate their workforce.
Anyway, here is a short reading list (in no particular order) for those of who want to know more about open source culture, community collaboration and (in opinion) the most appealing and practical way of doing software development.
(Comments on each reading is not mine, but from its author(s) or other source(s))
Open Advice – Misc
Open Advice is a knowledge collection from a wide variety of Free Software projects. It answers the question what 42 prominent contributors would have liked to know when they started so you can get a head-start no matter how and where you contribute.
The Open Source Way – Red Hat Community Architecture team
Guide for helping people to understand how to and how not to engage with community over projects such as software, content, marketing, art, infrastructure, standards, and so forth. It contains knowledge distilled from years of Red Hat experience.
Open Source Community Values – Jeff Cohen
Welcome to Our Community. Here Are the Ground Rules.
The Art of Community: Building the New Age of Participation – Jono Bacon
Will help you develop the broad range of talents you need to recruit members to your community, motivate and manage them, and help them become active participants.
Producing Open Source Software – Karl Fogel
A book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software.
Open Sources: Voices from the Open Source Revolution – Misc
Leaders of Open Source come together for the first time to discuss the new vision of the software industry they have created. The essays in this volume offer insight into how the Open Source movement works, why it succeeds, and where it is going.
Debian Constitution – The Debian Project
This document describes the organisational structure for formal decision-making in the Debian Project.
The Cathedral and the Bazaar – Eric Steven Raymond
Surprising theories about software engineering suggested by the history of Linux.
The Art of Unix Programming – Eric Steven Raymond
This book has a lot of knowledge in it, but it is mainly about expertise. It is going to try to teach you the things about Unix development that Unix experts know, but aren’t aware that they know.
How To Ask Questions The Smart Way – Eric Steven Raymond
In the world of hackers, the kind of answers you get to your technical questions depends as much on the way you ask the questions as on the difficulty of developing the answer. This guide will teach you how to ask questions in a way more likely to get you a satisfactory answer.
How the ASF works – Apache Software Foundation
Will give you everything you always wanted to know about ASF but were afraid to ask.
Apache Subversion Community Guide – Subversion Community
Subversion community participation guidelines.
Python Community Diversity Statement – Python Community
The Python Software Foundation and the global Python community welcome and encourage participation by everyone. Our community is based on mutual respect, tolerance, and encouragement, and we are working to help each other live up to these principles.
Eclipse Development Process – The Eclipse Foundation
This document describes the Development Process for the Eclipse Foundation.
Ubuntu Code of Conduct – Ubuntu Community
This Code of Conduct covers our behaviour as members of the Ubuntu Community, in any forum, mailing list, wiki, web site, IRC channel, install-fest, public meeting or private correspondence.
Mozilla Code of Conduct (draft) – Mozilla Foundation
This Code of Conduct covers our behaviour as members of the Mozilla Community, in any forum, mailing list, wiki, web site, IRC channel, bug, event, public meeting or private correspondence.
Communities of practice – Etienne Wenger
This brief and general introduction examines what communities of practice are and why researchers and practitioners in so many different contexts find them useful as an approach to knowing and learning.
Teaching Open Source – Misc
This is a neutral collaboration point for professors, institutions, communities, and companies to come together and make the teaching of Open Source a global success.