AIM IM with Michael Kaply 2:57 PM Michael Kaply: hi Giny Cheong: hi Michael Kaply: This is Mike Kaply Giny Cheong: Alright, thanks for being willing to talk! Michael Kaply: No problem Giny Cheong: If you're ready, I'll start from the list I sent earlier. Michael Kaply: Sure Giny Cheong: When did you start using computers and get interested in them? 3:00 PM Michael Kaply: I started using computers in 1983. My first computer was a Timex Sinclair 1000. Michael Kaply: From that point on I was interested in computers. I remember typing long programs out of computer magazines. Michael Kaply: And of course saving them to cassette tape. Giny Cheong: Did you get formal computer training in school? What's your educational background? Michael Kaply: When I was a sophomore in high school, I took my first computer class. I was doing assembly language programming back then. Later in high school I took computer classes where I learned Pascal. I actually did my first full blown application in Pascal. A gymnastics scoring program that was used at my high school. Michael Kaply: In college, I majored in Computer Science and math with an emphasis on numerical analysis. So there I learned FORTRAN and C. Giny Cheong: When did you get into open sources projects and how? Michael Kaply: I first started in open source projects as part of my employment at IBM. I have been with IBM since 1993 (and before that for a few years as a coop student). I started working on the Netscape project with IBM in 1996 and that kind of evolved into Mozilla participation. 3:05 PM Michael Kaply: As part of my employment at IBM, I've been involved with Mozilla since before it really began. Giny Cheong: Was IBM your first job out of college? Michael Kaply: Yes. I co-oped with IBM during college and then started with IBM out of college. I never even interviewed anywhere else. Giny Cheong: What's your title at Mozilla and what do you do? Michael Kaply: My title at IBM is Senior Software Engineer. My role at IBM is to be an interface between IBM and Mozilla. I own certain aspects in Mozilla, including the Client Customization Kit for deploying custom Firefox build and currently microformats in Firefox 3. Michael Kaply: Over the years I've also been responsible for the OS/2 builds (I actually still do those) Michael Kaply: As part of a team, we also contributed bidirectional support to Mozilla (Hebrew and Arabic support) Giny Cheong: So, you're still employed by IBM, but work heavily with Mozilla? Michael Kaply: Yes. My primary job role is my Mozilla work. I've been working as an IBM employee contributing to Mozilla since its inception. 3:10 PM Giny Cheong: Do you generally work in groups rather than alone then? Michael Kaply: Our team has grown and shrunk over time. Michael Kaply: Right now most of the things I'm working on are solo. Michael Kaply: We do have other members of the team at IBM that contribute in other areas of Mozilla. Giny Cheong: How does the labor get divided and who's in charge for group projects? Michael Kaply: When we have group projects, I'm in charge of overseeing them. We usually let people focus in their strengths or areas they really want to work on. As a company, we tend to be focused on what's important to IBM, so that kind of dictates the kind of things we work on. Giny Cheong: What happens in the group dynamics when you work on Mozilla projects? For example, do they ever come to IBM or you go to their offices? Is there any tension because you work for IBM? 3:15 PM Michael Kaply: Most of our work is virtual, although we occasionally visit Mozilla in California, mainly to catchup and spend some time talking in person. We don't see any tension because we work for IBM, I think mainly because we've been around so long. We've even had coops that ended up working for Mozilla like Jesse Ruderman and Jonas Sicking. Michael Kaply: And Darin Fisher and Brian Ryner both worked for us before they went to Google. Giny Cheong: Is the IBM/Mozilla relationship mostly about programming? Or do you think there are other aspects to how closely the two companies are tied? Michael Kaply: Lately I think the conversation has become mostly about programming. In the beginning IBM was more involved in Mozilla at a high level. There was a group called the TAG (Technical Advisory Group) where companies met with Mozilla and talked about higher level issues. That group doesn't exist anymore, so most of our conversations tend to be around code. Giny Cheong: Alright, thanks for explaining the relationship. Giny Cheong: How do you generally communicate with people you work with? Is there a lot of virtual interaction? 3:20 PM Michael Kaply: IRC is the primary means of communication with members of the community. It is definitely mostly virtual interaction. We've tried phone calls for some side projects we are working on (Firefox Enterprise Working Group) but I think most of the people involved in these type of projects prefer electronic communication. Giny Cheong: Do you ever try to get people together in person? Michael Kaply: We've thought about it, but we've never tried. I enjoy going to conferences where I get to see folks in person, and the Mozilla meetups/developer days are good. But in general we stick to mostly a virtual interaction. Giny Cheong: Alright, switching tacks... How important are comments in the code to the smooth development of Mozilla software? Can you give an example? Are comments ever misused? Michael Kaply: I think comments are important to the development of any software, and no programmers (including me) use them enough. For something as big as Mozilla, though, comments aren't enough because you really need a bigger picture of how everything works together. Comments are helpful when debugging to know why people did or didn't do something. But they can't always help you get the bigger picture, especially when you have as many files as Mozilla. 3:25 PM Michael Kaply: Comments can definitely be misused. I'd much prefer a comment that tells me why something was done than telling me what was done. Giny Cheong: Is strict ownership of specific areas of code enforced? Can you give an example of how this works or doesn't work? Michael Kaply: I don't thing strict ownership is enforced as much as it used to be. Nowadays most developers just work on whatever area they feel needs work. Michael Kaply: The main area where this causes problems is in finding people to review your code. Giny Cheong: How so? Michael Kaply: Finding the right person to review/superreview/approve your changes can be tricky. While there is a list of owners of code, they don't always have the time to look at your changes. So you end up spending time tracking someone down to review the work you've done. Usually that's about getting on IRC and simply asking, because people don't always pay attention to their review queues in bugzilla. Giny Cheong: Okay, thanks! Giny Cheong: How would you describe your programming style? Michael Kaply: I'm not much of a designer. I tend to jump write in and start coding. I probably don't spend enough time up front thinking about things, I'd rather just start coding. Michael Kaply: Usually this means I write things a few times before I get it righjt. Michael Kaply: And of course in most cases, I go back to the first way I did it which is usually correct. Giny Cheong: Have you ever clashed with any other Mozilla developers over a particular point of code? How did you resolve this problem? 3:30 PM Michael Kaply: I don't tend to clash over code. I give people reviewing my code the benefit of the doubt since a lot of them know more about the core Mozilla code than I do. I'm more than willing to take review comments and address them. Giny Cheong: Have you noticed any tension between those who work on the front end and those who work on the back end? Or how much communication and coordination is there between these different aspects of the project? Michael Kaply: I don't see the separation between the back end and front end like it used to be in the past, since most of the core work is now owned by Mozilla Corporation. Obviously differences between what people think the front end should be created Firefox and Seamonkey. So clearly people have differeing opinions... Giny Cheong: To what extent has Mozilla relied on the work of volunteers? Why do you think other people volunteer? 3:35 PM Michael Kaply: From a testing perspective, Mozilla always has and continues to rely heavily on the work of volunteers. From a development perspective, it seems like less and less people are volunteering. I think people volunteer because they think they can make a difference in a cool piece of software. It's nice to be able to say "That's fixed because of me" or "I wrote that" Michael Kaply: I have to admit I like being able to tell people I'm in the Firefox credits. Giny Cheong: I understand that during the early development of Firefox, CVS access was restricted to a very small team. Do you know why access was restricted to this small team? How was it decided who could participate? Michael Kaply: Back then, Firefox was a very small project controlled by a few people. It was deliberately designed that way. They wanted to have a lot more control to keep Firefox from becoming to big. Michael Kaply: To participate, all you had to do was ask. Michael Kaply: A lot of the original committers to Firefox were there just because they said "I'll do it" Michael Kaply: So participation wasn't necessarily limited - anyone could jump in. Giny Cheong: Have access restrictions changed over time? If so, how? Does this differ from other Mozilla projects? Michael Kaply: It was more about having a gatekeeper for Firefox changes. Michael Kaply: Components in the Mozilla tree are still split up and require specific people to approve changes to that area. So in that sense, there are still access restrictions, although the tree is not specifically locked to keep certain people out like it used to be. Michael Kaply: Checking stuff into browser requires a level of approval 3:40 PM Michael Kaply: As far as differing from other projects, everything requires some level of review approval. It's in the area of Firefox specifically we want to make sure things don't get out of control. Giny Cheong: Were there access restrictions on More than just Firefox then? Michael Kaply: I believe there are still access restrictions on NSPR and NSS. Giny Cheong: Why do you think Mozillaâ in particular Mozilla Firefoxâ has been able to attract a large number of users? What sets it apart from other open source projects? What sets it apart from other Mozilla projects? Michael Kaply: I think Firefox has a certain mystique among technical people. They want an alternative to being forced to use Microsoft products. Michael Kaply: And those technical people influence what their friends and family use. Michael Kaply: I think what sets it apart from other open source projects is that it is less "geeky" Michael Kaply: It's cool to use Firefox. Giny Cheong: Do you think Mozilla's success if mostly about Firefox? Or do you think the other products are having a role? Michael Kaply: I think their success is mostly about Firefox. Thunderbird is making a little dent but not much. Before Firefox came along, there really wasn't a big uptake in Mozilla technology among end users. 3:45 PM Giny Cheong: How would you list Mozilla's priorities? How does this compare with its priorities in 1998? Michael Kaply: I think Mozilla's priority in increasing the marketshare of Firefox any way they can, whether that is the inclusion of new technology, marketing, etc. Michael Kaply: I think that in 1998 the focus was more on creating solid technology for people to use, not so much a specific product. Giny Cheong: How have the priorities have changed over time? Michael Kaply: I think the focus has slowed moved away from creating technology that can be used by people in different products to focusing on creating technology for Firefox. There is still some talk about embedding Mozilla or things like that, but in general the shift is really toward Firefox. Giny Cheong: The Spread Firefox website states that Spread ffx was "founded on the same principles of community involvement that drive the development and testing of Firefox." How do open source principles influence marketing techniques? Do you see marketing as something coders can do or does this require marketing experts? Have there been clashes between developers and the more business oriented efforts? 3:50 PM Michael Kaply: Well, there are really two types of marketing at play here. There's traditional mass marketing and grassroots marketing. Grass roots marketing drove the adoption of Firefox in the beginning, and now it's becoming more necessary to use mass marketing to move beyond the adoption levels that Firefox already has. Michael Kaply: I think that the open source model works well in the grass roots side of things. Michael Kaply: I don't think it works well in mass marketing. Ads by committee simply don't work. Michael Kaply: As far as a clash between developers and business oriented efforts, I think every developers wants people to use their stuff, so we would love to see it marketed. Michael Kaply: But I think developers have a completely different picture of how the industry works, so that's where clashes come in. Giny Cheong: Chase Phillips has described the Mozilla Corporation as "opaque" and lacking "knowledge of where the place as a whole was headed." What do you think about that characterization? How does it square with your own experiences? 3:55 PM Michael Kaply: I think that is a fair characterization. I think there are really two sides to it. Michael Kaply: First, because Mozilla Corporation is a business, there is stuff that goes on that the open source community just doesn't get to know about. Things like agreements, financials, hiring, etc. Michael Kaply: The other side is that many of the Mozilla developers now work for Mozilla Corp. so they end up just by the nature of employment talking amongst themselves. So I think a lot more stuff happens without the community knowing. Giny Cheong: What is your vision for Mozilla moving forward? Michael Kaply: I don't know that I have a vision necessarily. Michael Kaply: I wish they would broaden their focus to include more than just consumers. Giny Cheong: How so? Michael Kaply: I wish they would make Internet Explorer compatibility more of a priority. 4:00 PM Michael Kaply: I think Firefox could be a great browser for enterprise customers, but there needs to be more of a focus on the needs of those specific customers. Giny Cheong: What's your vision for the IBM/Mozilla relationship? Michael Kaply: I think IBM will continue to have employees participating in the Mozilla community, but I don't think we're as relevant as we used to be. There's not as much technology that IBM can contribute to Firefox as there used to be. Michael Kaply: It's hard to find common goals at this point. Giny Cheong: Recently there has been much discussion over Mozilla's decision to change it's support of Thunderbird. A few months before this Ben Goodger even went so far as to write, "The Mozilla Corporation should rename itself the "Firefox Corporation", since that is clearly what it is for." (http://www.bengoodger.com/2007/04/the_autonomous_future.html) How do you feel about these decisions with regard to Mozilla's focus? Michael Kaply: I agree with Ben. I think the Mozilla Corporation is the Firefox Corporation and it has been since its inception. I think the focus has switched away from developing core technology and more on the focus of Firefox as a consumer browser. 4:05 PM Giny Cheong: Have you contributed (as a volunteer or employee) to any non-Mozilla open source projects? If so, to which ones and in what capacity did you participate? Michael Kaply: I've mainly opened some bugs and created some patches in projects like CMS Made Simple or Eclipse. I don't find that I have a lot of spare time to be involved in other projects. Giny Cheong: How did those experiences compare to your work experiences at Mozilla? Michael Kaply: I certainly get better responses on my bugs from Mozilla. It helps that I'm a member of the community. I think with any open source community, it's difficult becoming part of the "in crowd" which helps you get quick resolutions to things. Giny Cheong: How would you define a successful open source project? What elements or practices do you see as necessary for developing a successful open-source project? 4:10 PM Michael Kaply: I think a successful open source project is defined primarily by the people that participate, not necessarily by how many people use the software. People from different companies, different countries, etc. That to me means success. Variety. Michael Kaply: The thing that is most necessary to create that is a welcoming atmosphere. Good introductory documentation. Michael Kaply: A place for new folks to start. Michael Kaply: When someone comes into the community, you want to be able to give them a specific thing to do or a specific place to go. Giny Cheong: Do you have experiences working on commercial products? How did those experiences differ from working on open source? Michael Kaply: I have experience working on commercial products and working on commercial products that are created from open source. Michael Kaply: The experiences are very different. You have set schedules, specific product requirements. More product management. Michael Kaply: There is more direct involvement between QA, test, development and service. Michael Kaply: I think the service involvement is the big thing that is missing in open source that commercial products benefit from. Giny Cheong: Do you consider open source software projects as public service? 4:15 PM Michael Kaply: Not really. It's always good for consumers to have choice, regardless of where that choice comes from. Firefox could just as easily be a great closed source program. I think what open source provides is the ability to leverage a large group of people to create better software. The open source part is a necessity so that you can bring in as many people as possible. Giny Cheong: What (if anything) do you think the popularity of Firefox will do for the open source software movement as a whole? Do you think open source techniques can be applied to other areas of production in today's society? Michael Kaply: Firefox has validated that open source can produce a quality consumer product. But I don't think it will affect the open source software movement as a whole. Most people that use Firefox don't even know what open source is. Michael Kaply: I think open source can definitely be applied to other areas of production in our society. But you have to be careful of "too many cooks spoil the broth" Michael Kaply: Everyone has an opinion Giny Cheong: Where else do you think open source would work? 4:20 PM Michael Kaply: I think the work around the current patent policy is a good example. Michael Kaply: Places where you can leverage the knowledge of many to solve specific domain problems. Giny Cheong: What's the future of open source? 4:25 PM Michael Kaply: I see kind of an ebb and flow in the industry around open source, and I think it will continue to be that way. It's difficult for companies to figure out ways to make money when they don't have the kind of control they want. I think more and more we'll see open source responsible for the building blocks and companies creating value add on top of those building blocks, just like we're seeing today. Giny Cheong: Great! Outside of current employees and key developers, is there anyone we should talk to who we probably don't know about already? Michael Kaply: No one comes to mind Giny Cheong: Well, thanks so much for talking with me again! Is there anything else that you'd like to mention or go back to? Michael Kaply: No, I think that was pretty good. Giny Cheong: Alright. Have a good afternoon! Michael Kaply: you too Michael Kaply: thanks