A Twitter discussion thread (a) (b, c, d) made me want to i) lay out a definition for sustainable open source engineering, ii) provide some examples you may not have thought of, and iii) find out who else is doing a good job at it (or trying to, at the very least!)
Sustainable open source engineering refers to the process of supporting a collection of free/libre and open source software (FLOSS) over a very long period of time while following the open source way. This means:
Patches to the software collection must be pushed upstream where it makes sense; your engineers need to be the ones to know and make the call. They are the ones who have to track and maintain the delta with the original upstream for many years.
Provide a open mechanism for vendor partners and customers to collaborate on sustainability.
Do all this in an open and transparent fashion.
Anything important not covered by this list?
Where a typical value of FLOSS is to allow for a small(er) investment as a contributor to yield a large(r) return as a user or vendor, sustainable FLOSS engineering turns this on its head. The older the code base, the higher the cost to contribute. Unless you happen to be already running the software because you are a customer or a vendor supporting that version, in which case the “obtain, install, understand” steps are already completed. This is where the mechanism for collaboration comes to play.
Red Hat is the premier example of this. While we get enormous value multipliers in resourcing current upstream projects and the Fedora Project, we commit enormous resources to sustaining Red Hat Enterprise Linux (RHEL) for seven years. We’re so good at this practice that we routinely work with hardware and software vendors to train their engineers with our sustainable engineering teams. If you have a big chunk of iron to support customers running RHEL on for seven years, you want your engineering teams to know how to collaborate on sustainable open source.
That should give you a hint of the example of other companies that practice this type of sustainable engineering. Any large hardware (IHV) or software (ISV) vendor with products that customers run for more than a few years. IBM and Hitachi, for example.
At this point I’ll note that fauxpen source/”open core”/dual-licensed-as-closed models are not good examples. These are companies that are practicing business models that take some portion of their software source, usually an important part, and withhold it from being FLOSS. Without a pure open source product chain, from R&D to sustainable-state, they are going to incur the costs of closed source development without the benefits of being at the center of a mechanism to collaborate with customers and partners.
What do you think are good examples of businesses practicing sustainable FLOSS engineering?
This Wednesday I was helping Mel with the POSSE class in Singapore. Basically, I covered what open source content in Fedora does (technical docs, process docs, community self-knowledge docs), the common tools and styles we try to propagate, and then walked the class through how to contribute to the release notes. The exercise was focused on editing to the wiki. I explained the rest of the process in the abstract with lots of links (scroll down for the sections “4. Documentation” and “5. Activity: become a release notes writer”.)
The process was made easier when one of the teacher-students noticed that a desktop environment he enjoys, LXDE, didn’t have any noted changes in the release notes source on the wiki. Suddenly there was a clear reason to edit the wiki derived from their personal interests beyond just learning. This is what we call the, “Ah, ha!” moment. Now they knew i) why to bother contributing to the release notes, and ii) how easy it is.
The class were all instructors in polytechnical or business schools in APAC – Singapore, Shangai, and so forth. Ideally, they take back the “how to be an active contributor in an open source community” training to their classes. Even better, if they do classes where part of the student work is being active in FLOSS communities.
You may find the IRC log interesting, but Mel did a good job capturing the basics in that screencast. It is useful for showing to anyone who drops by #fedora-docs. We’ll try to get an OGG version to grab from somewhere so we can have it in the /topic on #fedora-docs. 🙂
Just working with a git directory and noticed that whatever trick I was using to get the current git branch visible from my $PS1 variable in bash … stopped working. In discussing if a man page for git(1) was incorrect on #fedora-devel, tmz pointed out to me why it worked that way (short version: refer to the individual git-foo(1) man pages for actual examples, don’t rely upon the git(1) page for how the commands work on the command line.) He also suggested an alternative that is inline with what we do now in git 1.6. Here are the steps I followed.
Rip out whatever logic you have in ~/.bashrc for displaying the git branch at your command prompt.
Copy the script supplied by the git package to where you can make it an executable, such as ~/bin :
Not sure what the metrics used are … but it is worth mentioning the group of writers at the Fedora Project. In terms of sheer number of pages and breadth of content, this is the upstream for all Red Hat product manuals:
Third, I really want to say — all this rockstar stuff is plain wrong.
It doesn’t inspire people and get them fired-up to get on the next top-ten list.
It drags down morale.
It is even a harder hit wherever there is a cross of passion and volunteer time.
Ask an artist if they love seeing a list of top artists in their region or media? Unless they are on that list, I’m sure the answer is unpublishable in this family friendly magazine.
Call out group efforts and thank all those involved in no particular order and without leaving anyone off the list? OK, that works.
But tweets to your homeboys when they do something you love in your community just makes all the people even peripherally involved in that effort feel left out. Forgotten. As if they don’t belong.
I’ve been wanting to say this for a long time. I think it’s a basic idea that many Fedorans agree with. But I didn’t want to be mean to fellow community leaders with good intentions who don’t realize their basic idea is off mark.
So, DMN Communications poster, please don’t feel singled out. I am motivated to write this because I feel personally saddened that all the hard working writers who work through the Fedora Project are going to feel a bit marginalized from that top-ten list. Ironically, isn’t the marginalization of open source writers in general the very reason you wrote the list in the first place?
Let’s not replicate the top-ten lists of late night TV and technical publishing. We aren’t in competition with each other for popularity, OK?
(Updated to say “thank all those involved in no particular order”, with the “no” added; it was intended to be there, blame my editor.)
The Fedora Marketing project is an intentionally open marketing effort. It is getting some stride in showing how a volunteer contributor community can do marketing amongst the most popular Linux distribution family (Fedora, Red Hat Enterprise Linux, and friendlyrebuilds). Fedora Marketing is finding a way to work with, instead of against or in ignorance of, Red Hat’s corporate marketing and PR teams.
Is it the first of its kind? Not sure, not likely. We are certainly not finding any academic research and such to suggest that ‘open marketing’ as we practice it in the Fedora Project is very common or understood.
It’s mature enough to invite you, a traditionally trained and skilled marketeer, to participate and get something great out of the process. The methods follow from the principles of free and open source software development.
The key principles I think go in to open marketing are:
Practice radical transparency – all conversations and decisions are done in the open, including the full, 100% true marketing and brand plans.
Trust your community – don’t save even part of the work for your corporate marketing team.
Train your community – many of us didn’t know squat about proper marketing before becoming involved in Fedora Marketing.
Focus on being a service bureau – support the rest of your project as they need it, don’t try to get ahead of what they are doing with traditional product marketing approaches.
Find how to lead with market research – open research of open communities will yield data useful to the rest of the meritocracy.
There is no “way we do it” – people who know about any traditional profession should bring their expertise, but be prepared to transform and transmogrify on the fly.
A year or two ago, if a bunch of traditional marketeers had landed on Fedora Marketing, I think it could have been a disaster. There seems to be a sea change of thinking in marketeers. Maybe the power of the social media phenomenon has finally sunk in to the marketing way of thinking.
Before the social media blossom, open-minded marketeers didn’t have a lot of good reference points. Doing things “like” open source software wasn’t an argument for pursuing the open source way in marketing. There has been a lot of fauxpen marketing – it may purport to be authentic, but it’s really just skilled manipulation.
Skilled manipulation cannot move at the power of the people using Twitter and Facebook. Authenticity has a ring to it, don’t you think? I imagine there are hundreds of marketing folks out there now doing a version of, “I told you so,” as they rework plans to include such crazy things as innovation from the community of customers. Some marketeers have embraced free culture and are learning how to work with it for the benefit of all.
Many are surely still using ‘open marketing’ as they would ‘open source’ – an item on a checklist of “features” that speaks nothing about the actual way those are included in the path of innovation.
Here in Fedoraland, we’re building an open marketing campaign one brick at a time. If you are or know of any marketing people interested in getting involved in an open campaign, come our way.
I did some research, analysis, and reporting recently about the Fedora Project and (later) JBoss.org participation in Google’s Summer of Code project. I’ve done various parts in our GSoC effort since 2006, the second year we participated, and the last two summers I’ve been focusing on strategic work for our overall summer coding efforts while working as an administrator.
Up to now, I was going off my instinct that it was a worthwhile way to spend my time. In fact, until this last year, it really hasn’t been in my job role in anyway, just something I did because. Now, as part of the Community Architecture team, my job is to think and act strategically. Last few summers I put a lot of initial work in to attracting mentors and project ideas, with good results in 2008 that were largely repeated in 2009.
Based on the results to date, it’s clearly worth the time and effort. In fact, it’s clear that with more of a focus on being an efficient umbrella organization, we can have possibly more students, working on more useful, interesting, and ultimately successful/useful projects. If this translates to additional upstream efforts such as what has gone on before, this is a good benefit to the wider open communities.
I’m calling together a meeting on #fedora-meeting-1 sometime in the next few days, with some specific invites out to Toshio, Yaakov, and Sankarshan. The former two were at the Mentor Summit a few weeks ago and came to camp out at my place on a nice October night. That’s when we kicked off the idea that we needed to really step-up our efforts to be a better umbrella organization. Sankarshan has been a mentor and mentor’s-mentor for a number of GSoC years; I think he has provided the most and very useful feedback to student proposals of any other mentor.
If you are interested in helping with this larger effort, let me know.
I picked five because then I wouldn’t be at this all day, but it’s clearly a lot more than that. And I’m sure I know people have “reasons they hate”, and they are welcome to go somewhere they love more than they hate, I’m sure, yes.
These are the sort of things I find myself microblogging about on twitter and identi.ca, which may explain why my blog has been going dark the last few months as I’ve been more micro than macro.
This 15 October marked my eight year anniversary with Red Hat. I celebrated by presenting to people in our Raleigh, NC office about the open source way. It all comes full circle, eight+ years later people (enterprises, governments, SMBs, academia, all of that) are still coming to the acknowledged and trusted open source leaders to learn how to get this done.
It’s not evil. Despite a propensity to paint Red Hat as having dark, secret motives by some members of the world, the evidence is clearly to the contrary. Being a public company, we have to act in the best interest of shareholders. That means keeping stuff confidential that could affect the stock price, etc. That’s fairness and ethics. But we also know and have clearly demonstrated as a company that we make more money for our stockholders by following the open source way.
We make money by doing the right thing. Why other people have not figured this out, I don’t know. All the open core/fauxpen core/dual-licensed business models haven’t been working as well as everyone who is their proponent claims they would do. Our pure-play open source model is really the only sustainable one. Why? It doesn’t incur the cost of closed source the way the other models do.
We’ve maintained our culture throughout the years. Every month there are new hires at Red Hat who, bless they souls, come from Big Grown-Up Companies who Know How to Sell Software. *sigh* You can imagine, keeping the proper open source way culture flowing requires dealing with internal as well as external onslaughts, pressures, and personalities. At this company, the technical people have a serious influence on adjusting the mindset of the very smart people we bring in who haven’t yet fully absorbed the open source way.
We make some of the best technology while participating and catalyzing in the best communities in the world. I love the people I get to work with outside of the Red Hat walls, and I’m there able to gain some credence often because of the power of @redhat.com after my name. Everytime I add to that brand, I know I give many more than myself that same power-of. That same is true when I wield the power of @fedoraproject.org. 🙂
I’ve a little story I want to share with you. I’m telling it because it’s about the larger discussion of who you are and why you are drawn to one Linux distro over another. Or one music style over another. And so on. It’s also about the differences between Fedora and Ubuntu, both in terms of the distro and the projects overall.
When we walked up, the crew was rolling out two side-by-side, 30in by 8ft (72cm by 2.44m) sheets of white butcher paper. Pen and ruler in hand and at Jono’s direction, they were making hash marks along the top edge.
“What’s this for?” I asked.
“We’re going to hang this on the wall for the BarCamp sessions,” someone explained to me. “We’re marking a grid on this paper, then people write their session titles on these papers and hang them up using sticky-wall-putty stuff.” The ‘papers’ were little 5in by 7in (13cm by 18cm) with a small Community Leadership Summit logo across the long edge. There was still plenty of room to write, but it gave the pages a nice consistency and crispness:
I was able to quickly get the vision in my head of what Jono had in mind. It would be a bit of polish that, for some of the audience and especially anyone new to the BarCamp format, gives a feeling of professionalism and attention-to-quality. When people walk up and see the session grid all laid out, it is an attraction. In the end, it looked about as I figured:
The irony is, a few weeks before I was on #cls on irc.freenode.net, where I told Jono a bit about how Fedora does BarCamp days. For the session grid, I said, “We mark columns on a blank wall with blue masking tape, because blue is better. Then we write our session title on 8.5 by 11 (A4) paper, taping it to the wall with another small piece of tape. This makes it easy to move sessions around, combine them, etc.” It’s also inexpensive, quick and easy, and gets the job done so we can move on to other things more quickly … such as having the sessions. Here’s an example from a FUDCon:
As it happened, I ended up finishing the grid, using one of the 5×7 papers as a guide. I made a few suggestions along the way, but primarily, Jono had the vision, and I could see the value to be gained in following him through the process. For example, while drawing row lines with a long ruler, I had a chance to reflect on this situation I was in the middle of. In essence, I began writing this article at that very moment. For another, I wanted folks there to know I could go along with the flow and help them enact their vision rather than spend effort advocating for my own.
For folks like me, the Fedora process has appeal. First of all, it doesn’t require me to be there at 6:30 am to execute it. It’s low resource usage, low technology, and a low barrier to entry. Everyone could see how the sticking of signs was done, for example, and people could move things around, add and combine, without having to ask permission or how-to. Sessions weren’t even combined on to a new sheet; the two or three were stacked together in one time slot. The process invites contribution.
For another large group of people, the extra polish that Jono was doing provides the something special that makes them feel they are where they belong. The central leadership, single vision accessible to all present, and sense of being ready-to-roll is important to those people. It invites participation.
All of these ways of being and doing are natural, expected, and desired. Diversity breeds innovation, quality, and a wider pool to fail … and learn from it.
This led in to a week at OSCON where I did a bit of thinking and talking about how people could be choosing their Linux distro. Not through the idea of finding the “team” where they can be a “fan”. More an idea of putting forward our best faces, in authentic stories written, told, and captured. Maybe that’s the sort of service Linux.com DistroCental can provide – a way that shows people new to Linux what the day-to-day of being in one community and another is actually like.