Twitter github

Posts Tagged with “open source”

Texas Linux Fest 2010

Today I had the opportunity to speak at Texas Linux Fest 2010 and meet some Red Hat colleagues…

I presented some ideas I had on how to get involved with open source and be successful with it. It seemed the audience received the presentation well even though I was a bit nervous since this was the first time I did this type of presentation (and I wasn’t talking about Eclipse). Some people have asked for the slides so I posted them on SlideShare.

Also, for the first time that this conference was put on, I think everything went smoothly (good job conference organizers). From my point of view, it was interesting to get exposed to the Linux enthusiast community again, it’s been awhile. I do admit I felt a bit dirty doing my presentation off my MacBook Pro using Keynote in front of an audience of Linux enthusiasts, but hey… Open Office is terrible… I’m a pragmatic open source guy 🙂

Streamlining Committer Elections in Open Source

There’s been some discussion as of late amongst the Eclipse Architecture Council about streamlining the committer election process.

I brought the issue up because I have mentored quite a few projects at Eclipse.org and have seen the good and bad parts of the process in play. We are also at a time where we are modifying the Eclipse Development Process so we have the opportunity to make some changes to the committer election process. I don’t like the process currently because I think it takes too long for a committer to get elected and eventually get commit rights to source control. From the 7 day election period to the paperwork, I think we can do a bit better. I like the process because it plays into the fact that Eclipse is a meritocracy and allows existing committers and community members to speak their mind. In reality, there are very few times where I have seen someone voted down when an election was called. In most cases, I’ll bet existing committers have talked amongst themselves already before calling an election so that veto vote is less likely to happen.

How do other mature open source projects deal with this? How do we make it better?

Anyways, if you have any comments or suggestions, please speak up on the bug. It would be nice to hear from people what they experienced when they were being on-boarded as an Eclipse committer or even other open source projects.

Speaking at Texas Linux Fest 2010

Next weekend, I’ll be speaking at Texas Linux Fest 2010 which happens to take place in my beautiful town of Austin, Texas…

In a theme similar to what I blogged about a couple days ago about getting involved with open source, I plan to give a talk entitled Open Source from the Trenches: How to Get Involved with Open Source and Be Successful. It’s a long drawn out title, but the basic gist of it is that I have 25 minutes to share my experience in open source land with the audience. I’ve learned a lot from everyone I have met a long the way and plan to divulge some of the lessons learned. I’ll admit I’m a bit nervous as I have never given this type of talk before…

For those from the Eclipse community, anything else you want me to say that you may have learned a long the way? I think we have a special place in the open source community as we tend to dance between the line of commercial and open source really well compared to other open source communities. I was going to say “dance with the devil” but that would be very freetard of me, I’m more pragmatic these days 😉

Anyways, if you’re in the Texas area, I highly recommend attending the conference. I’m personally looking forward to these talks:

I hope to see people there. If you’re in the area and want to meet for frosty beverages, let me know. On top of that, we Red Hatters also plan to have a lot of Fedora swag at the event too (I’ll have Eclipse stickers).

Getting Involved with Open Source?

I was recently approached by a student I mentored a couple years ago. He’s been doing some job shopping and asked for some advice on how to get involved with open source and be successful at it. At first I thought, I’m naive what the heck do I know… I was shooting for a simple answer but after a few minutes of thinking about it I was a bit lost what to say. I rather not offer some trite advice and leave the guy with nothing practical. After spending some time over the weekend thinking about it, I started writing and came up with this short bit of advice…

Find your passion. Contribute to it. Brand yourself.

What do I mean about finding your passion? There are a ton of open source projects out there that span all sorts of topics. Find open source projects that truly interest you and are exciting. If you don’t, you’ll soon find yourself distracted with other things. Someone once said that, “Nothing great in the world has been accomplished without passion.” Also note that the majority of open source communities are meritocracies and to build a repertoire with them takes time. If you really want to get involved with an open source project and potentially become a committer you need to dedicate some time. So that being said, there’s some practical things we can do to help your passion to get involved with open source.

Find the Right Open Source Projects

Like I mentioned before, find open source projects that interest you. There are a lot of forges out there you can browse for interesting work, like SF.net or GitHub. However, I recommend that you take a look at the list of mentoring organizations from the Google Summer of Code (GSOC) program. These organizations have already been vetted by the GSOC organizers and are of a higher quality than other open source projects out there. They also tend to be more welcoming to new contributors which brings me to my next point about mentors.

Mentors, Mentors, Mentors

I believe mentoring is crucial to your success in becoming involved with an open source project. Without a mentor, you will waste time learning the ropes of the project. There are a lot (but not many) of open source projects out there that have formal mentoring programs. For example, the Fedora project has a program where you can find mentors. The Eclipse project also has a specific place contributors can go if they are seeking some mentorship. Another approach that worked for me a long time ago was simple emailing a project leader and asking him if they were willing to mentor me. Sure some people will say no, but you’ll be surprised on how many people say yes. Oddly enough, this is how I got involved with Eclipse.org but that’s another story.

If you qualify as a student, I think the Google Summer of Code program is one of the best ways to get involved with open source. I have mentored students the past few years with GSOC for Eclipse.org and have seen some amazing things happening. I’ve seen students evolve from open source contributors to full-fledged developers. I have even seen a couple students find open source related jobs due to their involvement in the program.

Contribute

Many open source projects are meritocracies. In order to get involved, you have to contribute and build your repertoire. So simply do the work in finding some bugs you can fix. This is hopefully where your mentor can come in and point you to some low hanging fruit to get you started. Since I’m a software guy, I have a tendency to focus on programmers but there are many ways to contribute to open source outside of code. For example, documentation and testing are ways you can get involved with open source. For example, I think the Fedora project does a good job in highlighting the different avenues you can contribute to the project based on your skillset and desires.

If you’re into books, I can recommend Karl Fogel’s Producing Open Source Software as a good read. It’s a little outdated in my opinion, but can give you some insight on how a lot of open source projects operate. It may also be useful to you if you start an open source project in the future of your own.

I also recommend getting an Ohloh.net account so you can track your code contributions. For example, I’m able to look at my Ohloh account and remember the good ol’ days when I actually contributed to Gentoo Linux.

Brand Yourself

This may be odd to hear for developers, but you are a brand and you should control your image. In open source land, things are done in the open so we have to be mindful about that. Avoid negativity at all costs and kill people with kindness. Be critical without being negative, it’s possible. Also, if no one can find you, how can you expect to be successful in an environment that is all about being open? So I recommend getting yourself a website, a blog and a Twitter account. These things will help with visibility and will also get you in the mindset of doing things in the open. It will also allow you to share your expertise in the areas that you’re passionate about it. When you’re comfortable, I would also exude confidence but wouldn’t over do it.

I would also recommend getting a slideshare account if you’re giving talks at conferences. I use it as a dumping ground for all my presentations in the hopes that people may find them useful.

In the end, the point is that you have to understand you’re a brand and if you want to help your career, you should be findable. Also in terms of career advice, I say that you should brand yourself for the career you want, not the job you currently have.

Networking

Networking is one of the most important things you can do for yourself and your career. If you can, attend conferences (including other type of meetups) and meet the people you have been working with (or want to work with) in a face-to-face environment. There’s no better way to connect to folks than sharing a frosty beverage and chatting it up.

On top of conferences, do yourself a favor and get a LinkedIn account. This will help you establish a professional network and also may help you land a open source related job in the future if that’s what you want.

In the end, my advice is to build a network via conferences and online interactions.

Conclusion

Well, that’s all I have for my brain dump about getting involved with open source and being successful. I really just kept writing and put what sprang into my mind, so sorry if it’s a bit hectic. In the end, I think it’s all about finding the right open source community to act as an outlet for your passion. Anyways, I hope people find it useful as I’m not sure what other advice to really give. What do other people think? What helped you get involved with open source? What could have done better? What helped you become successful?

Liferay goes LGPL (Weak Copyleft)

It’s interesting to hear that Liferay switched to the LGPL recently.

On top of that, they did the license switch in a way that involved their community (which is a good thing and should be noted by other companies looking to do the same thing). Anyways, there’s interesting discussion in why they did it and also people’s reactions in the comments are always fun to read…

Well, it’s a legitimate detriment to us. Our company has a policy preventing the incorporation of any open source product licensed under GPL or LGPL in any of our products. Irrespective of one’s opinion as to the wisdom or necessity of this, there are many organizations that have similar policies.

Sad that many companies still have this policy…

On a side note, maybe my prediction about the rise of weak copy left licenses has some merit?

Open Source Business Resource (OSBR)

I recently joined the advisory board for The Open Source Business Resource (OSBR) which is one of my favorite reads when it comes to crossroads of open source and business. I find that when it comes to quality business-related open source material out there, we don’t have many options (or I’m just not aware of them yet). I mean, besides opensource.com, a couple analyst firms and a few interesting blogs, I don’t have much to go on.

In the latest issue of OSBR which targets the mobile industry, there’s one article I really appreciate by Andreas Constantinou which starts off with this revealing quote…

“Open source licenses tell only half the story. The governance model, the implicit rules defining transparency and influence into an open source project, is the small print that determines the power dynamics around that project.”

If you haven’t noticed, the mobile industry is in an open renaissance when it comes to giving people access to source and allowing them to contribute via a variety of levels. For those who had the pleasure to work in mobile in the past, this is a bit shocking given how the industry previously treated access to mobile operating system source. The important part of the article is when it starts mapping open source license types to governance models (see the fairly accurate figure below). And discusses how the mobile industry needs less marketing hype around the benefits of openness, but more education and clarity on governance models.

See where Eclipse fits in (it’s snuggling next to Symbian)? Do people like it there :)?

Just because Android says they are open, doesn’t necessarily mean they are when it comes to governance. Anyways, give the latest OSBR issue a read if the mobile industry is your cup of tea. If you want to see anything in upcoming issues, like a potential theme covered, please let me know.

Open Source Bug Reporting Etiquette

Over the weekend, I noticed a bug trickle in…

I first thought… wow what a !@#$, this is not a way to win friends and influence people

I was thankful my team responded correctly with the mantra of killing people with kindness.

As open source developers, we have to remember to have some restraint when interacting with our consumers. The old adage of killing people with kindness should apply to most of the cases we deal with. As consumers of open source software, it’s important to follow some basic etiquette rules when hitting a problem and reporting a bug:

  • Be civil and positive when reporting bugs. Saying the !@#$ing software sucks isn’t going to help.
  • Be patient when reporting bugs. Some people work on projects on a volunteer basis (if you need better support, some open source projects have commercial support offerings).
  • Don’t double post and spam all the open source project’s communication channels.
  • Read “How to Ask Questions the Smart Way” and live by it

In the end, it’s all about interacting with people. Over the net, it’s easy to forget that we are actually dealing with people; not autonomous robots without any emotion.

Pan Handling in Open Source?

How should open source projects handle donations? And do it in a tasteful fashion?

panhandling-not-illegal

I ask because I’ve been doing some work lately do expose the Friends of Eclipse program at Eclipse in a variety of ways. For example, I want to add a link on Eclipsepedia as we have on a variety of the Eclipse download pages.

Friends of Eclipse

I’m a fan of the Friends of Eclipse program because I believe in the power of community. All donations benefit the Eclipse community in some fashion from providing more bandwidth for users and committers to sponsoring Eclipse community events. The program is there as a way to contribute to Eclipse for people who may not have the time to become a committer but have the financial resources and desire to contribute. For awhile, I don’t think the program was very visible and that’s changed as the link has appeared on the download page. There are now over 1000 donations to the program! I see a future where we could get a considerable amount of support from the Friends of Eclipse program and help the Eclipse Foundation sponsor more events.

But is there a line that we can cross where it seems like we’re pan handling :)?

I tried to look at how other projects handle donations.

If you look at Wikipedia, their approach is to have everything front and center.

Wikipedia

It seems to work for Wikipedia as they tend to have a fund raising drive model. Their users don’t seem to mind either. The Linux Foundation has a way to donate on its web page and they also have a program similar to the Friends of Eclipse where you can sign up for individual membership with some benefits.

Linux Foundation Individual Membership

How do other people view donation in the open source context? Is there a line to cross?

How do other open source projects do this?

The Bookshelf: Building Open Communities

One of my big interests is building and analyzing communities, especially in the open source space. I’ve learned a lot from my experience in the Gentoo Linux and Eclipse communities and take joy in the experience. There are so many interesting topics within community building from effective communication mechanisms to development processes to governance. I see a future where a lot of software is developed in the open and building a community around that will be vital to the success of that piece of software. As I was writing this post, Microsoft just announced that they are open sourcing the .NET micro framework and attempting to build a open community around the technology…

Microsoft is also in the process of forming a community of interested and involved members to help shape the future direction of the product. There will be a core technology team that is composed of Microsoft and external partners, and people will be encouraged to propose projects, which will be vetted before they are accepted…. The site will also support people building extensions that exist alongside the platform rather than being integrated into it…

You know when Microsoft is releasing stuff under the Apache 2.0 license and attempting to build communities there’s a shift in the industry happening. Good for them!

Ok, on to the point of this post now. My reading list went empty recently and I needed to fill it with some interesting books. In particular, I was looking for books related to open source and community building. The good news is that I found a couple of interesting books, the bad news is that I wish there were more books on these topics. I’ve been devouring the Art of Community book by Jono Bacon (Ubuntu’s Community Manager).

It’s a fascinating book which outlines some of the aspects of community building and share’s many of Jono’s experiences in developing the Ubuntu community. A lot of the things he discusses can be mapped to what is going on within the Eclipse community. Jono’s coverage of the importance of meritocracy and governance pleases me.

Anyone else have a chance to read the book yet?

Another book that I’m looking to devour is the Groundswell by a couple of Forrester Research’s analysts.

I’m always a fan of case studies around social technology and how it can impact your business. My favorite recent example is the United Breaks Guitars debacle… how much heartache did that cost United? I’ll let people know what I think of Groundswell when I finish it.

Anyone else reading anything good around open source of community building lately? Any recommendations?

Lowering Contribution Barriers in Open Source

Inside the Eclipse community, we’re looking at ways to make it easier for people to contribute. Part of that work involves working on improving the web presence of Eclipse when potential contributors come visit (the other major part is at the code level, but we will leave that for another post). To help me with some ideas on how to improve the contributor experience on the Eclipse.org site, I wanted to look at how other open source communities are handling it at the moment. My thought was that visiting other community sites would also help me play the role as contributor since I’m so entrenched with things at Eclipse and have a difficult time putting myself into the role of a contributor.

Mozilla

When visiting the Mozilla site, I was greeted with a gigantic Get Involved button.

mozilla

Mozilla realizes that there are many types of contributors out there and accommodates appropriately for that.

mozilla2

As a bonus, Mozilla even had contribution options based on how much time you have available!

mozilla3

Awesome!

Symbian

The Symbian site had no clear way for me to realize how I can contribute to the effort. The site was pretty but I’m not sure the excessive use of flash is going to win bonus points with developers (does Flash even run on Symbian-based phones?).

symbian

After some digging, I found the Symbian developer site.

symbian2

It was pretty easy to find links to code, bug tracking and forums. I didn’t see any obvious links for people who may want to contribute translations or their artistic skills to the project. Then again, the Symbian foundation is pretty new so maybe they aren’t at the point where they need translation contributions.

Fedora

Inside the Fedora site, I immediately was drawn to the Join Fedora link.

Join Fedora

After clicking that link, I was presented with a wonderful variety of ways I can contribute to the Fedora project.

fedora2

I’m a huge fan of any open source community that realizes that contributors come in all shapes and sizes; there aren’t only coders out there.

Ubuntu

The Ubuntu site had nothing obvious on how to get involved immediately (you have to scroll down quite a bit to see a link to get involved).

ubuntu

I dug around a bit and found a link to Get Involved with the Ubuntu community. I was delighted to be presented with the way I would like to get involved.

ubuntu

Ubuntu seemed to classify its contributors into developers, non-technical users, technical users and people willing to donate money.

Seems reasonable.

Conclusion

What did I learn at the end of this exercise? It’s important to realize that there are many different forms of contributor roles in open source. Here’s my simplified version of the major roles contributors may play:

  • Writers
    • These people can help with things like documentation and articles
  • Developers
    • These people can code; provide patches; potentially become committers
  • Translators / Internationalization

    • These people can help with internationalization efforts
  • Graphical Artists / Designers
    • These people can help with artwork; don’t let coders design things
  • Evangelists
    • These people can help organize events and spread the word; marketing is key

There are contributors that may fit many of these roles, but most will specialize in one type of role. The key thing to understand is that you need to cater to each of these roles including how much time people have (like Mozilla did). For example, developers will want to know how to access code and contribute patches to the project. Translators will need to know where to go to translate strings for the project or file bugs for long German words that wreak havoc on your user interface. And so on…

What do people think? What can open source communities do better at making it easier for people to contribute? As a next step, I’ll take a look at playing the role of contributor in one of these communities and write a “Hello, World” type application.

If you have any ideas on how to improve the contributor experience at Eclipse, please comment on this bug.