A few weeks ago, TheServerSide ran an article quoting James Strachan on open source software (OSS) which included a thirty or forty second audio clip of the creator of the Groovy programming language speaking at TSSJS 2011. Since then, a number of TSS readers have asked why we didn't provide the full audio of James' Lightning Round session. Well, that's a good question, which we've tried to answer by providing a transcript of the full audio, along with a longer audio clip. Enjoy
Read the full text transcript from this video below. Please note the full transcript is for reference only and may include limited inaccuracies. To suggest a transcript correction, contact firstname.lastname@example.org.
James Strachan: Hello, everybody and welcome to Vegas and TheServerSide Java Symposium. My name is James Strachan and I'm a long time open source contributor, and I guess my claim to fame is that I created the Groovy programming language. Some of you might have heard of it.
A bit of FuseSource promotion and background on what James is currently doing…
I've been an Apache contributor for ten years or something. I kind of stopped counting after ten. In that time I co-created a bunch of stuff with Apache, like ActiveMQ - the message broker, and a product called Camel - which is an integration framework. As for now, I’m work for a company called FuseSource, a leader in the open source integration and messaging marketplace. We do commercial support, training, mentoring, consulting and we develop products around the open source projects we’re talking about right now.
Most of the best guys I have met in the IT world have been open source guys.
All these projects are open source Apache projects so you might have heard of some of them. ActiveMQ is a messaging program. Camel is an integration framework based around enterprise integration patterns. (Camel rocks and I'm sure both talks at TSSJS about it are going to be good. So I recommend you go to those two talks. They're going to be good stuff. ) Service Mix is the ESB. Finally, Carafe is like a low level OSGi. So these are the projects.
If you want to know any more detail about our services, what we do and how we can help you with any kind of integration problems, hop along to our booth. You can win a Kindle too.
So that's our company and that's what we do.
Now, about why you should be contributing to Open Source Software…
What I kind of wanted to talk about really, though, was why open source rocks - all open source. [Not just Camel.]
How many people here use an open source tool or framework on library right now? How many of you are using an open source library?
Okay, that's most people. Most of us know that open source kind of rocks, right? It's agile, it's simple. You can just download it. You can just use it. There are no crazy expensive license fees. You don't have to do the year long bakeoff with loads of vendors. You know, the big bakeoff, "which one are we going to buy? Oh my god! I don't know!" With open source software you can just use it and get stuff done.
The benefits of using open source software...
It's nice and simple and agile. Typically the code quality is pretty high. With popular open source projects you get lots of people looking at the code and reviewing the code, looking for bugs, looking for ways to improve it. I also find with open source, because your contributions are public and its online and archived forever, you tend to polish your code a little more before you submit it. Generally the code is really high quality, really well tested, and so on and so forth. In general, I always recommend people to look at the open source software version of any enterprise commercial software first.
…because your contributions are public and its online and archived forever, you tend to polish your code a little more…
Most of you already get that open source rocks though, right? So how many people actually contribute to open source projects? A couple of people? By "contributing," I mean writing some code, writing issues, joining the mailing list, etc.
So here is what we are to take away from today's talk. Here is why you should all--every one of you--should be contributing to an open source project; it can be any one that tickles your fancy. Here is why you should contribute to an open source project.
Learning about software; learning about the development process
The first thing is that you'll learn so much about the open source project, not to mention the process of building software in general. I worked in IT for about ten years before I joined my first open source project. In the first month, I probably learned more than I had learned in all my years of building software.
At first I was quite surprised by this. I wasn't one of the hippy, "everything should be free," kind of guys. I like to earn a living. But I couldn't quite understand why I learned so much. I think the main reason is that popular open source projects attract lots of really good, very motivated developers and users.
When you go along to these open source communities and you raise a ticket or propose a change, you get tons of really valuable feedback. And this discussion keeps going and going and going. And everybody learns together. You will literally be amazed by how much you learn about how to build software, how to test software, how to refactor code and how to cultivate all sorts of different ideas when you work on an open source project. You learn a ton of stuff.
Is OSS a career booster?
Increasingly, recruiters will be looking for people who are active in open source.
Another good reason to get involved in open source software is that if you learn a particular open source library, you can then reuse that library on different projects. A lot of us change jobs now and again or move from project to project to project. And you can always take open source code with you. As you go from vendor to vendor or group to group, often there is a corporate standard. We use [this thing here] or whatever, right? Well, you can take the good open source software with you.
Another really good thing, and this is why all of you should be doing this, is that it helps your career. Increasingly recruiters are mentioning experience in Spring, ActiveMQ and Camel would be a benefit when they are hiring. When people are hiring they are looking for open source experience. If you start contributing to some of the bigger, more popular open source projects, people will recognize it. You'll be able to put it on your resume. Increasingly, recruiters will be looking for people who are active in open source.
Open Source Software - A recruiters dream.
At our company we tend to hire by finding people who are active in open source projects and doing really good work. Most of the best guys I have met in the IT world have been open source guys I've met through an open source project. Luckily we've hired most of them at FuseSource.
So, my tip for today is to pop by the FuseSource booth if you want to know anything else about open source, integration, messaging or if you want a Kindle. But definitely use more open source, it's awesome. Open source rocks. And try to contribute to an open source project. You really learn. You'll have heaps of fun and you'll help us all going forward. Thank you very much.
Read the full transcript from this video below:
James Strachan of Groovy Fame on Why To Contribute to OSS