Twitter github

Apply now for Google Summer of Code at Eclipse

This is time given my Getting Involved with Open Source post. Google has announced that students may apply for the Google Summer of Code (GSOC) program today.

If you’re a student, get on it and start talking to the open source projects you’re interested in. At Eclipse.org, check out our list of project ideas and the people to talk to if you’re interested. I recommend you start talking to potential mentors soon as they will be the ones reviewing proposals in a few week and scoring them.

As for Eclipse.org projects, how about we put some more projects ideas on the wiki? I’m a bad sad I see nothing from the e4 project there… it would be a great way to get some work done over the summer and attract new contributors.

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?

Rogue Trail Series: The Maze 2010

This morning, I had an opportunity to participate in the Rogue Trail Series: The Maze trail race.

I signed up for the 30K and only ended up running around 20K. My knee is still giving me trouble on distances longer than 10K at any reasonable speed. I think I’m at the level now that I need some medical attention and lighter races until I heal up a bit.

That Chicago Marathon is later this year and I want to rock that race. Anyways, nothing like post trail race beer and good company to heal the knee pain away.

In the end, I’m still looking forward to my next trail race.

Speaking at GeeCon 2010

I have the honor to speak at GeeCon 2010 later this year which will take place in Poznan, Poland.

I will be giving an Introduction to EclipseRT, Equinox and OSGi.

There’s a lot of exciting things happening around EclipseRT withing the Eclipse community and I hope to spread that love in Poland. If you’re not too far away from Poznan, I highly recommend attending GeeCon as the list of speakers is fantastic.

On a side note, I’m excited for a chance to visit Poland again as Polish is my native tongue and I’ve been out of practice for awhile. Furthermore, I’m looking forward to having some frosty piwo’s with the locals.

The Rosedale Ride 2010

Today I had the opportunity to do the Rosedale Ride in Austin.

The Rosedale School is AISD’s only school for children with multiple disabilities and the ride is all about raising money for the school. I did the race with one of my great friends and we did the 42.4 mile route and finished in about 2:30!

After we finished… in true Texas style… there was some serious grilling of BBQ…

On top of that, I spotted an FSM logo!

I love Austin. Tomorrow I have a 30k trail race to conquer!

EclipseCon 2010 – Understanding Git at Eclipse

Yesterday, Shawn Pearce (Google), Robin Rosenberg (Dewire) and Matthias Sohn (SAP) and I gave a talk at Eclipse about Understanding and Using Git at Eclipse.

I believe the tutorial was well received. Our goal was to introduce people to Git, JGit and EGit. We also talked about why Eclipse is moving to Git in the future. I believe we accomplished that on top of the message that there’s no free lunch to moving to Git at Eclipse. Heck, I don’t only want Eclipse to move to Git, I want other open source projects to do it. The license of JGit is liberal enough that other projects like Netbeans can embed it. Git simply empowers contributors in a way that’s not possible with centralized version control systems.

It will take time to get the tooling right and understand how much a distributed version control system like Git is the perfect fit for Eclipse. On top of that, we explained how the EGit and JGit projects leverage Gerrit to facilitate contributions and code reviews.

It’s my hope by the next Eclipse simultaneous release, we have a good amount of projects moved to Git and the tooling is top notch. The only way this will happen is if we admit to ourselves there’s no free lunch and provide feedback. I’m already impressed with what happened after the tutorial… we have people filing bugs and providing patches. This is what open source is all about.

If you still don’t get it, watch Linus’ tech talk about Git and read the Pro Git book.

California, Texas and Running

I spent the last week in sunny California for business. While I was there, I got a kick out of running with my Texas running socks. I don’t know why, maybe it’s the part of me that just loves Texas a lot more than California these days.

If you need pair of custom running socks, the Sock Guy does it right.

Anyways, I think I’m finally getting over my knee issues while running. I can’t go full out yet but I’m getting there. It’s a terrible feeling to know that you can push your body harder but your body is saying, no, not yet. I’m going to put my knee to the test this weekend when I do a 30K trail race as part of the Rogue Trail Series.

Here’s to no more excruciating knee pain!

Planning for EclipseCon 2011

The cat is out of the bag! I have the unique honor of being Program Chair for EclipseCon 2011.

I think Oisin Hurley did a great job chairing EclipseCon 2010, I have some big shoes to fill. I have some awesome ideas brewing on how to make things even better next year and will be selecting a Program Committee (I prefer to call it a Circle of Caring) soon. If you have any ideas on how to make EclipseCon better, please feel free to let me know. Don’t be afraid to give your honest feedback, I feed off the criticism 🙂

You can email me or track me down in person before EclipseCon 2010 finishes.

Help Name the Next Simultaneous Release of Eclipse

It’s that time of year, the Eclipse Planning Council is seeking feedback on what to name the next Eclipse release.

This year we ship Helios. Next year the name of the release should start with “I” since we prefer the alphabetical approach. The Planning Council seeded these list of names so far:

  • Isaac
  • Ion
  • Isis
  • Iris

Preference given to names that fit the moon, gods or scientists themes we’ve used in the past.

“I” is a hard one… I don’t have any great ideas so far so please give us some great suggestions!

Eclipse, NASA and Rocket Science and the Republic

I don’t know about you but I was blown away by Jeff Norris‘ keynote this morning at EclipseCon 2010. As a matter of fact, I can’t think of any other software industry related keynote that has impressed me as much. As Eclipse committers, it’s very humbling and rewarding to see your software being used by NASA to explore Mars, aid in planning astronaut’s schedules on the International Space Station and other things.

He also has no fear for Murphy’s Law given the amount of live demos he did, from remotely controlling the ATHLETE rover to do some moves for us to controlling a robotic Socrates head.

Space is hard. NASA develops complex systems to explore the universe. You can’t develop crap and run something like the Mars rover missions with brittle and poorly designed software. It’s my personal belief that community, open source and modularity act as enablers for building better software. Eclipse and OSGi exposes modularity and puts people on the path on building better software. Of course it’s not easy, but Eclipse helps.

At the end of the talk, he cleverly used the method of Socratic dialogue to drive some points home. I completely agree with his points about the importance of foundations, frameworks and architectures. I managed to record a poor video from the end of the talk, but here’s a snippet from the dialogue:

Jeff Norris: As software systems grow more  and more complicated, they are going to start taking on the properties we have seen in other industries like rocket science and building buildings. Where the level of complexity begins to demand this division of labor on a scale perhaps we haven’t seen before.

Robotic Socrates: To see the future of the software industry one could perhaps study the past of others. As space exploration demands the combined efforts of specialists with limited understanding of each others trades software developers must similarly diversify to meet the growing demands of their field.

Robotic Socrates: As software projects grow to the scale of skyscrapers, developers will specialize further in order to cope with the complexity of the systems they build.

Jeff Norris: Well, that sounds pretty risky… thousands of developers working on a system and not really understanding what each other are doing… doesn’t sound like a safe thing to do. How are we going to make it possible for those people to collaborate effectively without stepping on each other?

Robotic Socrates: Using the same principles employed in skyscrapers… foundations, frameworks and architectures. Do these terms sound familiar to you?

Jeff Norris: Indeed they do. This is what I think Eclipse is all about… So to conclude, I feel what Eclipse is enabling here is for people like me… to build systems that are appraoching unforseen levels of complexity without them falling apart. I’m really looking forward to what this community is building now and how we are going to use it to explore the universe in the future.

Thank you Jeff and NASA for a great keynote. I expect great things in the future from NASA.