It's better to be open: WebLion programmer/analysts discuss life in the open source world
Michael Miller and Michael Mulich, programmer/analysts with WebLion, talked recently with Jamie Oberdick, Daily Buzz editor, about open source software development. Along with being great for programming, Miller and Mulich have found the open source environment to have other professional and social benefits as well.
What does “open source” mean?
Michael Mulich: It means the sources are freely available for anyone to look at, edit, and redistribute it to their liking.
How is developing open source software different than traditional developing methods?
Mulich: It can be community-based. If you go into the global view of it, open source is really a collaboration of everyone’s knowledge. So, I guess you have a larger user base out there.
When you are in a closed source setting, you are usually developing towards a particular goal. Often in open source, you are still developing toward a goal, but someone else might be developing with another goal in mind. So if you collaborate more, you end up with a more diverse product in the end.
Michael Miller: Those who are using open source can drive where a project is going, the goals you are aiming for, instead of being directed from elsewhere. You have much more control. Like Michael said, that collaborative community working together is what really makes it unique as well.
How do you interact with the larger open source community beyond Penn State, such as at Plone Symposium East?
Miller: Interesting you mention the Symposium. When you are in one of these communities, you spend a lot of time reading other people’s articles on what they are doing, communicating via IRC or message boards, using all those communicative and collaborative online tools.
So, what’s exciting about a Symposium, you have all these people who are there that you communicated with before online, but you actually get to put a face to them. It’s always exciting.
And then, what is also interesting, when you go back to collaborate again online, you have that face in mind and you begin to develop this relationship with people. It’s a working and professional relationship, and that’s pretty cool as well.
How do you share software you create with the greater community?
Mulich: In the Perl community, there’s an application called CPAN. They share their open source projects among other Perl developers through this application. Python has something similar, PyPI, which stands for Python Package Index. So, that’s one way to share your project.
The other way is to go on the community or topic mailing list and advertise, ‘I’ve developed something you should use, this is why it is great!.'
Miller: I have seen some other times too, when you create something that is really useful, things are shared other ways. For example, Rob Porter of WebLion worked with some other programmers in the community to create CSS Manager, it allows people to do some theme and visual editing on their sites without having to know any code. That product itself, the usefulness of it, is what sold it then. That’s also a way that really worked, once it’s out there, and easy to get to, the value of the product itself drives people to it.
Mulich: Eventually, a good product would gain momentum, so it would simply advertise itself.
What if someone has questions that are not covered by the documentation you create? How do you support the stuff you create?
Miller: On the IRC channels, the mailing lists, etc., people ask questions on there. What’s nice about that, for example, Plone documentation - on their site there are instructions on how to do something. Somebody might write, using Web 2.0 tools, a comment like ‘I couldn’t get this to work.’ And then, you can respond as the owner, or someone else can post ‘well, I ran into this also, and this is how I fixed it.’
So, some of those same ways you communicate with everyone as collaborators are also how those people who need help come in and ask questions. One of the powerful things about that, it also helps those people with questions, it sort of plugs them right into the community with collaborators. It helps them to be part of that community, as opposed to a help desk or something like that where they are asking questions and you are dictating answers. It becomes more of a conversation.
What are some of the other things that are different about developing open source, that are different than non-open source projects?
Mulich: I get a personal gratification out of it. By developing open source, I feel I sort of give back to the world in some small way.
Miller: I think if you are developing for just a goal, you may have a team or whatever. But if you develop something in the open source community, you make personal connections with other developers, and those personal connections can be very valuable. They make things a lot more interesting, and challenging also.
How does this community organize, such as making decisions on products, etc.?
Miller: It depends. There may be some projects where there is a small group working on something, and they make decisions together. On the other hand, you may be dealing with something that has thousands of people using it. Perhaps there comes a point when you need some sort of decision making: there are some that may have a board or group that makes a decision that says this will be part of the product, etc. and send that out to everyone.
Anyone can do whatever they want with it really, but as far as bringing it all into one brand or whatever, how that is done seems to be done differently across communities. In some of them, there may be a group that has somewhat of a control, in some there may be one person, and in others it seems to be a little more distributed, this sort of decision. In certain contexts, you can give an exact answer to your question, but overall that is a tough one to answer.
Mulich: I guess it’s everybody coming together on a similar idea, having a shared stake in that idea.
Miller: Yeah, that’s the ideal.
Are there any examples of this happening?
Mulich: I have a Web services project for Plone, and I am working on a package for it. I am also communicating with the community, letting them know what I am up to, what I am doing, and they give me feedback, give me some direction on what they would like to see. I am not just doing it for Penn State; I am helping the greater community.
Miller: Yes, ideally that’s one of the nice things about it. You have the ability to redevelop and have people who are your target users or are interested in it as well, they can be kind of giving you feedback as you go along. This is instead of having to finish a product, release it, and then have people say well, that didn’t work the way I wanted. You have that ability to have that communication all along to drive that development process.
Are there any open source communities here at Penn State beyond WebLion that you work with at all?
Mulich: Probably not as tightly integrated though. With WebLion being a fixture as a department here at Penn State, that really creates a lot of backing for WebLion. A central point of reference, maybe.
Miller: There’s a group, PSU Web, which is starting to gain some momentum and starting to gather people. It’s a much grander thing; it looks at different aspects of the web, but is geared along these lines of open source, having different groups of people come in and really drive the community, start to have these conversations about how different units are using web technologies and share ideas. Not necessarily always software specific, but also topics usability, accessibility, or using the web technologies to engage students and other users, etc.
Recently, ETS had a summer camp along those lines (Learning Design Summer Camp), which I was able to attend. Which in a sense is very open source, they are sharing their ideas and coming up with new ones on how to use technology to engage students and enhance learning.
It seems like open source is almost like a culture – what have you got out of this culture?
Miller: One of the things it encourages is making those connections and sharing ideas and sharing everything else. Sometimes there seems to be this attitude with people where I was, well, you do your job and you focus on it, you get it done, and you are a cog in the wheel sort of thing. Whereas with this, what I think it does is it opens you to having those conversations and building these relationships. It’s much more than just your job.
Some of the things that Michael (Mulich) has developed during his time at WebLion, I am not going to say made him world famous, but people around the world are using them. We have made friends with people that you would never meet, such as in Belguim, Washington, and Mexico. When you come together and you are sharing ideas and you have this common interest, you do make a lot of friendships. There are people that you do become friends with through working like this from across the globe, and you do keep in contact with them.
I know we are sometimes in the office and we hear about so-and-so and ask “how’s he doing.” They are our friends too, and that’s something that’s really great. You do communicate outside of work, you see them on the channel during the weekend, working on something together, and might say “hey, how’s your dad doing?”. That sense of community is a strong thing; you build these relationships. It’s really powerful, and I think it shows in your work. You are really a team and not competitors; you are working together and you are building a team. It makes your work much more fun.
Mulich: I have got some positive response to my work. I belong to that community now, the Web services community anyway. So, they have a vested interest in what I do, not only what I develop but what I am doing in general at WebLion.
Miller: You can also get connected with people who are gurus a lot faster than you can if you were developing at a large corporation.
Mulich: If you are willing to share with them, the community is definitely willing to share back.
