×

我們使用cookies幫助改善LingQ。通過流覽本網站,表示你同意我們的 cookie 政策.

image

JBoss

JBoss

Doug Kaye: Hello, and welcome to IT Conversations, a series of interviews with experts in today's hot topics in information technology. I am your host, Doug Kaye, and today I am thrilled to bring an interview produced by guest host, Scott Mace, recorded live at JavaOne 2004.

Scott Mace: Welcome to another IT Conversation. My name is Scott Mace. My guest this morning is Marc Fleury; he's the founder and CEO of JBoss. Good morning, Marc!

Marc Fleury: Good morning, Scott!

Scott Mace: We're here at JavaOne to talk about a lot of things, but primarily I'd like to hear about the phenomenon that's JBoss and what has captured the imagination of IT about what JBoss is doing Marc Fleury: So I started JBoss as an open source project in 1999, so five years ago, and we were the early movers in the server-side open source Java arena, which aggregated a lot of people in a fairly large community of talented developers. Around 2001, we had a product that was useable, and with that, really, customers, people ready to pay for training, for consulting, etc. And so that gave birth to the model known as professional open source where essentially the core developers of projects become professionalized, join new companies such as JBoss Inc. Everyone has stock in our company, and we federate a wide array of projects in the middleware arena. So we are doing in the middleware arena what Red Hat has done in the open operating system arena. And what's capturing the fancy of IT developers is that now they can have state-of-the-art technology in the middleware space for free with support directly from those core developers. Scott Mace: I would like to drill down a little bit into the technology that makes JBoss different, and for that I refer back to the technical papers that you have written. First, the "Blue" paper. You talk in that paper about the importance of dynamic proxies in middleware. Can you talk about what that means?

Marc Fleury: Absolutely. So "Blue" is actually a fairly old paper. It's about two years old, not to say that it's not correct, in fact, the contrary, to show that we've been following that path to its logical conclusion. What's beyond a dynamic proxy is really the notion of aspect orientation. And, for anyone that's familiar with middleware technology applications, server technology, what they're about is offering to developers services so that developers write objects, and then they make that object persistent in the database. They make that object remote through web services. They make that object transactional with transaction demarcation etc. So it's about enhancing the behavior of objects with system behavior. And the whole name of the game is, "How do you bring those services in the objects?" And in the old series of JBoss, we used dynamic proxies to weave in persistence. transactions, security and remoteness under interfaces. Today state-of-the-art technology in JBoss is JBoss AO, aspect-oriented framework, and with it we are capable of working not just with objects and interfaces, but the raw objects themselves. What that enables us to do is greatly simplify the programming models so that developers are really writing in Java and with simple tags, annotating the source code, saying, "This is persistent, this is remote etc." So that vision of bringing interceptor-based aspects in EJBs, which was implemented in JBoss since the two series described in the blue paper, has really been brought to its logical conclusions today, and that means two things, as I said. First of all, JBoss AO is the core of our offering, and we built all the other products on top of it, namely JBoss Cache, for example. And then EJB 3, which is the new version of the spec that just came out yesterday at the JavaOne conference, is really an expression of that aspect-oriented way of developing, as standardized now within Sun with EJB3. We participate in that JCP.

Scott Mace: Obviously, everybody is talking about service orientation. Does aspect orientation and the idea of persistence take us to a model where the client isn't necessarily always on, always connected? Can we have persistence even when a client does not have an Internet connection?

Marc Fleury: When we talk about server-side aspects -- and here I'm focussing just on the server-side ones, and I'll touch upon the client ones in a second -- AO is a fundamental construct. It doesn't always bubble up to the view of the developers, much less the view of the users of the applications. But for developers of web applications, what it means is they're capable of working in Tomcat, so you would have a web-based connection to your server. And then with simple tags, you weave in the behavior of persistence transactions etc. In the client framework, what we're doing is we just launched JBoss Labs, and with it the first project is the rich client framework. And if you look at Microsoft, they have announced in Avalon the return of the rich client, so we went from the '90's, fat GUI, to the early '00's, thin client, everything in the browser etc. And now the pendulum is swinging somewhere back in the middle where we're trying to bring some logic back to the client, session logic, workflow logic, so that you don't go back to the server all the time and you have a fast and rich experience in your browser. There's really two offerings today; well, one is Avalon from Microsoft, which will be there in 2007. The other one is Macromedia Flex, which is the only other offering on the market. We're launching the first open source project, or rather first major open source project, around that technology and trying to bring to market rich-client functionality. And then, yes, you'll be able to be disconnected, you'll have session capture locally, it will leverage aspect orientation on the server side etc. etc.

Scott Mace: What kind of applications do you think are well suited to this development and which ones aren't? I mean, will we always have an extremely fat client running Microsoft office and Outlook and that kind of thing? Or do you think that ultimately some of the technology you're developing, the middleware, and others like IBM are going to lead to alternatives where people don't necessarily carry around that big hard-to-install, hard-to-upgrade, hard-to-make-virus-proof kind of client from being something they always have to have? Marc Fleury: Yeah, it's a good question. And, really, you have that problem not just on the client side, but on the server side. So if you look at what was going in the '90's, it was a big upgrade nightmare to maintain all those clients, and the client-server model showed some limitation as to scalability and maintainability etc. We went all the way around and all the way the other way in early 2000 with everything server based, and then, yes, sure, you had scalability, yes, sure, you had central management, but what you had lost is a rich user experience. Something as simple as reordering a table like you do in Outlook all the time to see by subject, things like that, had to go back to the server and etc. etc.

So what we're pushing within JBoss is a lot of innovation on the server side and on the client side now to bring about this next generation of middleware design. And it looks something like this, again, it looks with server-side components that are simpler to develop because of the aspect orientation and the tag nature that's being standardized in EJB3 so that the developer experience on the server side is a lot richer, simpler, no more antipatterns of J2EE. J2EE has a complex wrap; we are simplifying that. J2EE 1.5 is going to be about simplification of programming models, and we're at the forefront of that with JBoss and Hibernate and things like that, meaning we're bringing back the open source innovation into the standards, and the other vendors are profiting from it as well. And the second thing is also simplification of the client programming model so that, for example, today you have Struts on the server side, and Struts spends 70% of CPU time just doing session management when the session is a client session, and therefore it belongs on the client. So what you'll end up with is a simpler way to program for developers. I would see a first uptake in the intranet environments, high-end corporations that want rich applications, not necessarily the mass of the Internet at first because of lack of standards there right now. But, yeah, a lot of applications will benefit from that. The programming models are known on the server side. They have been becoming clear on the client side, and we're investing in R there, so you should see something within a year there, a picture that will make sense. Scott Mace: What's the state of Java today for the developer? We're still hearing some concern about forking, what's going on with Eclipse and what Sun is doing with NetBeans. Do you think that's good for the customer, good for the developer, that it's a healthy amount of choice? Or do you think that it's looking more and more like forking? Marc Fleury: I actually think Java is extremely healthy right now. Only IBM has a Freudian problem with Sun still being in control of Java, and if you pay attention, read between the lines of the announcements of work etc., they all come from IBM. The truth is Sun has done a tremendous job as a steward of Java; they're the core libraries. IBM has done a tremendous job in the tools space with Eclipse. At JBoss, we have standardized on Eclipse as our default IDE that we support. We have tag completion in Eclipse. This is great choice for the end user etc. Move up the stack, and I think you'll find an even healthier ecosystem where you have guys like IBM, BEA and us in the double-E space, in the enterprise space, where the customer has tremendous choice from open source vendors to IBM that can outsource the whole thing. And, in fact, it is a very stable system, and the proof point I'd like to give is the fact that we participate in the JCP ourselves. We write a lot of JSRs, the EJB3 that I've been talking about. Sun invited us to standardize the innovation we've been doing, so it's a big community, there's a lot of money involved. And so there is always noise, but make no mistake, that by and large all the heavy weight vendors including JBoss, we agree at the end of the day, that we all do what's good for Java in this industry. And there may be hostility in the field and the sales organizations etc. where we compete. Everybody has the health of Java in mind to have a real industry that's working, and today it is a real industry that is very healthy. Scott Mace: The growth of your company has been pretty phenomenal, and I gather you've still done it pretty much without venture capital backing. Is that correct?

Marc Fleury: So venture capitalists wouldn't touch us back when. The first venture capitalist I saw, when we put the business model in front of them, they said, "Guys, this is not a bad business plan; it's a horrible business plan!" and just took off. So we had to do without venture capitalists since the beginning. And then we built a profitable company out of the professional open source model. We have the subscription business model, which is very much like Red Hat's business model, and that works very well. So, we scaled the company. We did go for venture capital in January, so about six months ago, and we took money from Matrix Partners, $10 million from Matrix Partners, Accel Partners and Intel Capital. I still haven't touched that money, to be very honest, because we can run the company on cash flow only, meaning profitably. So we have venture capitalists, and we took the good of the venture capitalists, the credibility, the capacity to hire better people etc. in the management ranks, so we've built out the management team. The developer ranks have always been very healthy here, and we're still the cult status for open source developers that want to do this full-time and professionally, so we're definitely building the company. Today JBoss is about 50 people and growing. When we were three guys and my dog, we had already replaced Sun's reference implementation. When we were 20 guys, we had beaten BEA in a lot of deals, so imagine what we can do going forward.

Scott Mace: One of the terms you've coined is the "peace of mind market," and it refers to the revenue stream that can flow when you provide the training and the support and the consulting and the marketing partnerships that open source requires. Can you talk about that?

Marc Fleury: Sure. Actually I didn't coin "peace of mind." It was listening to one of my competitors, Alfred Chuang talking about that what he was selling was peace of mind, and it struck me as very smart. He wasn't selling software anymore. He wasn't selling a service. He was selling this ethereal peace of mind, so there was no competition. And then we realized that the main barrier to adoption for open source is about this peace of mind, and it articulates itself in, "Well, what's the viability of the company backing this up? Are there partners that are backing this company so that end user organizations feel comfortable going to open source?" So the model we've been building with professional open source and with the company is one where we back up our software; we call this "professional" open source. It's really the second generation of open source companies. The first generation, you can think of them as the Red Hat, the SuSE's. And the characteristic of the second generation open source companies such as MySQL and us is that we control our code basis a lot tighter. For example, in JBoss, we contribute 85%. In Hibernate, we contribute 95%. In Tomcat, which today is a JBoss-federated project even though it lives at Apache, we contribute about 60% of the code etc. So what that means is then we can turn around, Nukes 100%. Then we can turn around and offer to companies 24/7 support, indemnification and training, and we can recruit partners to actually sell this to offices. The partners were announced in the past month where Hewlett Packard worldwide, Novell, we announced yesterday worldwide, CA as a partner, Unisys as a partner; sort of the big names in the industry are jumping on the open source bandwagon. They realize this is a deep current and what we're all solving collectively as an ecosystem around JBoss is this piece-of-mind proposition that can put in front of decision makers, contracts that are plain-vanilla industry contracts. They understand the SLAs, they understand the support contracts they're getting into, they understand indemnification, and at the end of the day we look just like a vendor, a classic vendor, only a lot friendlier because we're not selling licenses that put our customers on the hook. Our relation is purely based on the service and they like that, and it's a very successful model so far. Scott Mace: Your thoughts on the accusations of Red Hat becoming a new lock-in model with people writing to the Red Hat kernel or the Red Hat extensions and then they find they can't port to SuSE, is that something that's inevitable and natural? Or do you think that Red Hat has made a fundamental error there?

Marc Fleury: Well, I'm not in the Linux base, so I'll give you the third-party interested-observer opinions. In fact, I was talking about it this very morning with one of my guys in the company. I think Red Hat is doing the right thing from a business standpoint, which is, first of all they branded a version of Linux. Linux is a thousand different dimensions, a thousand little programs, and because they decided to give a brand to a particular crosscutting version, it gave the ISVs as well something to target. All of a sudden they can go there, and the coup that they did that was great from a business standpoint was saying that their partners would force their customers to buy the support of Red Hat on this particular version. The second thing they do great is sell by CPU. And so if you sit down 30 seconds and strip all the open source noise that surrounds this, it's the Microsoft play! And you know what? Good for them! They're selling per CPU their service and their tools, and I can see where people who realize that get psed off about it. But from a business standpoint, I applaud them! We're struggling through the pure subscription model. Open source is a difficult business model, let me just put it this way, and this has gotten Red Hat in the black. They're now profitable and growing with something that resembles the Microsoft business model, and I, for one, say, "Good for them!" Now, that being said, we're profitable, we're growing with a pure subscription on the LGPL model. I think the dual license by MySQL is also a very clean business model, and I know MySQL is getting flak for it as well when, really, I think they're very clean business models. And I'm a professional of open source. I've been doing this four years, now. I make a living along with 50 other people, and in many other little companies in the domain are doing this. We're all pioneers. I always get a little bit annoyed at what I consider the communistic fringe of open source, people who have jobs on the side, but consider themselves open source. They're amateurs of open source. They're corporate open source; they're corporate employees doing open source. We're the real guys, we're the real pioneers, and when I hear this whining on the side, yeah, we deal with the mass of people. I mean, the Internet gives a voice to everybody, and I tend to try and ignore that little fringe that's trying to be holier than us when really they're sitting in their couch at home, and they're not professionals of open source. Scott Mace: I attended a breakout session last night at which some Sun engineers recommended using the Java SDK app server from Sun to develop to assure portability with JBoss, with WebSphere, whatever they're going to use because you never know when you're using those products, according to Sun, what you're going to be doing that might break compatibility. Any comment on that advice that they're giving? Marc Fleury: Yeah, I was on that panel actually. Was it Karen Tegan?

Scott Mace: It was a BoF.

Marc Fleury: It was a BoF, okay, because the same comment was made on the panel I was on. It's a valid point that every vendor has had proprietary extensions; therefore, you should develop to that. Now, what is Sun going to say? So obviously, all the Sun employees are saying the same thing since you heard it in another place, and from a business standpoint it makes sense, but it's not true, and let me explain where I think this argument breaks down. The vendors are a step beyond in that thinking. What we're trying to balance is the need for portability, which is a must in our industry. This is how I define this industry, and as I said earlier when you were mentioning forks, no one really is talking about forks, and we all know where our pocketbooks lie, and it lies in unity with other vendors. It's the cooperation, coopetition thing is really working in the Java domain. But the spec is really in its infancy. Middleware in general is in the dark ages. Some will argue we have 20 years of middleware. We only have really five years of middleware as a dominant Internet technology. I'm personally involved in academia a lot. I published three academic papers last year in aspect middleware, and there is an explosion of research and understanding of modern middleware architectures, aspect orientation again. Aspect orientation plays a big role there. That says this industry is in Pampers. And so when we started as open source, we were catching up with the spec. We caught up with the spec in 2001 and we moved way beyond since then. In fact, we've completely rewritten the book on how you assemble middleware, and for us, that's the dynamic aspect. What you read in "Blue" was really the first traces of that. We've gone to a complete understanding of this aspect nature of middleware. And so what I am saying is the vendors today are innovating beyond these dark ages of the standard and we're way ahead. We are bringing that innovation back into the standards. EJB3 is a great example of cooperation by IBM, BEA and ourselves where we're standardizing a lot of features that we pioneered in the open source community with Hibernate and JBoss AO, and we're successfully standardizing. The spec appeared yesterday, we have the first draft, so this is working. But the balance we're going through is we're exploring what developers like. Developers voted with their feet. When we showed them CMP modelling, the persistence model of the old EJB spec, and the new Hibernate, they all flocked to Hibernate. And you need to have that kind of guidance in a very democratic way through open source mechanisms that are bringing no-nonsense development back in the spec. And therefore we will continue innovating and bringing back in the spec, and that's the way it's going to go. Scott Mace: Your thoughts on Sun being pressured to open source the rest of Java? I mean, they're starting to; they did Java 3D yesterday. When do you think that we'll see completely open source Java? Marc Fleury: So, again, this is a lot of noise by IBM in a very Freudian way. They want to be the father of Java, and I'm not sure I would trust IBM there. So to me, it's a red herring discussion. Java is first and foremost the JDK, meaning the actual implementation of the virtual machines, so they only thing that would make sense to open source would be that Sun open source the JDK, the virtual machine itself and its implementation. Definitely in JBoss, we deal with deep-class loading architectures that are core to the Java platform, and we've seen bugs in the virtual machine. An open source implementation of the virtual machine would help us. Now, the control of the specification, the control of the brand, the control of who can call something Java with test suites etc., that definitely should be Sun, and I don't know what it means to open source a standard. To be very honest, Scott, it doesn't make sense to me. You don't open source the JCP. Open source is about code under open source licenses, meaning implementations. So it's a popular topic because, if anything, open source brings a lot of emotions in the discussion. It definitely gets coverage in the press, but this discussion is not as deep as it appears and the only thing that could happen is Sun open sources the JDK. Fine.

Scott Mace: How significant is it that Eclipse did a demo running without a virtual machine for performance reasons? Do you think that's going to be something that we see a mix of in the future? Or is that just an interesting experiment?

Marc Fleury: You catch me by surprise here; I didn't see that demo! So you're saying that Eclipse runs natively on the platforms? Interesting! Yeah, one thing, I think, that has made the success of Java is the portability of the virtual machines, period. It starts there; it finishes there. Developers love portability specifically on the server side. That was an early insight. "Why did I go to server side?" Java on the client is useless. You get a monopoly of Microsoft, and I'm not saying it's good or bad, it's just a fact. Now on the server side, you have a hodgepodge of operating systems. You have Linux, you have Windows, you have Solaris, and you're going to have that mix for a long time; therefore, you need portability. Today the best way to do portability is still virtual machines, and there, you do have a lot of interesting things going on. You have .Net virtual machines, the CLI format, there are very good things there; in fact, we copy a lot of the .Net features in our aspect-oriented framework, the tag nature etc. So, for open sources guys, we actually like Microsoft technology. They're doing good things. And so CLI, virtual-machine-based architecture, all these are very interesting domains of research. I won't describe the Eclipse running natively as a toy app -- I haven't seen it, I have to look at it -- but anything that runs natively strikes me as a blow against portability, and that's not good, that's not Java. Scott Mace: How far do you think the detente between Sun and Microsoft can go? Do you see a merging of some sense of .Net and Java or J2EE at some point, or it really can only go so far?

Marc Fleury: Yeah, it's a great question! Well, first of all, from a business standpoint I think both Microsoft and Sun have one enemy, and that's Linux. Although Sun could become a friend of Linux, they're not. The open source movement in itself, I like to say always that open sources is not just Linux, and living proof are MySQL and us in the second-generation open source companies. So, I'm not surprised to see?and everybody says that the move between Sun and Microsoft is first and foremost to combat Linux and, yes, that makes a lot of sense that it would get together to protect that operating system world. Now on the technical side, again, Java's value proposition to developers has always been, since the beginning and still today, the portability across operating systems. And the idea of a .Net platform that only works on Windows is nonsensical to me. Why would you go for that when you already have portability? Why would you limit your market if you're an ISV, for example, to 40% of the market of Windows when you can have 100% of the market with Java? So I do see competing things there. For our particular case -- and I just covered what I think Microsoft and Sun could do together -- in our particular case, we're looking at the .Net platform with a lot of interest right now. There are things such as IKVM, virtual machines that port to the .Net byte code format so you're writing Java and you run on .Net and you expose Java objects as .Net constructs, C# objects. That is very interesting because state-of-the-art server-side technology in Microsoft is not very good. The language is great, the ideas of tag-driven development were, in fact, copying in J2EE what's really not good in the Microsoft platform or other services themselves. The persistence is a joke. You're looking at raw JDBC calls or SQL calls. So this is still the prehistoric ages of this today. We have Hibernate. We know how to do object/relational mapping; we know how to do high-end caching etc. So there may be an opportunity for JBoss to start marketing some of those products that we have in the Java world for the .Net guys, saying, "Hey, lookit! We've solved these problems in the Java world, and when it's relevant to you guys, what's the business model we go there with?" is an interesting question. But we're about open source, we're about professional open source, sticking to open source licenses and making a good living at it, so we're thinking about this very seriously and we'll find a way. Scott Mace: What do you think about Mono, which Novell now owns and certainly comes out their group they gave us Gnome? Is that a possible interesting way to get .Net on other platforms?

Marc Fleury: Yeah, I mean, supportability is a must, and the only story there is Mono, whether it's a viable story, that the Mono virtual machine is going to be up to speed with the Microsoft virtual machine, and that it's going to run as well on Linux, that's anybody's guess. And I'm not sure anybody's trusting Microsoft to promote Linux; it goes against their business model, per-i-od! Microsoft does not like Linux, not really open source, it's Linux they have a problem with. So I'm very fuzzy there as to how this whole thing can play out. That being said, what about AIX? What about the other operating systems that are there? What about the Mac OS? Java has already solved that problem five years ago, so to me, it's a me-too play. They're reinventing the virtual machine wheel. We've moved past that universe five years ago when we all started focusing on the libraries themselves, dynamic proxies, AO, enterprise layers; there's a whole universe of knowledge there that has been compounding over the years. And we're seeing these guys trying to reinvent the first step on a route to the complete offering, and then with slim chances of success because the guy in front who really controls that platform has no interest in seeing them successful at all on Linux. So I think you're going to see a lot of?they're going to talk about it, they're going to pay lip service to portability because it's definitely the biggest blow against .Net, that it is not portable across the platforms. But it doesn't make sense from their business standpoint; it goes against their very nature, so I don't see it happening, frankly. Scott Mace: Is there something about training as a physicist that predisposes someone to be an innovator in the Internet application space? I'm thinking of Tim Berners-Lee and yourself? Marc Fleury: Yesterday I was talking with another who had a Ph.D. in Physics and a Ph.D. in Math, and a lot of our guys have Ph.D.s in hard science. Hard science is a great training, but there's no money in physics anymore, so definitely coming to computers sciences or to computers in general, enterprise IT is a great professional field to be in. You've got this mix of hard core science to a degree of code, which is very, very technical, and then of an industry that's very quickly moving where you have a lot of parameters that you need to grok at the same time to get a picture, so for somebody who is trained to do that, to have a very generalized view of what is going on, it's a very exciting field to be in. And compared to people who have just computer training or just business training, being able to bridge the two gives unique insights. So when I talk to salespeople, I'm way more technical than some of their developers are, so it's an edge. And when I talk to techies I also have the marketing mind and where things are going. So, a lot of guys in JBoss have that dual profile. We call ourselves the McKinsey of code. We can think with both brains and it gives us some edge definitely, and I think it comes from the training in hard science to some degree, absolutely.

Scott Mace: Thank you, for speaking with me today, Marc!

Marc Fleury: Thank you very much!

Scott Mace: Join us next time for another IT Conversations.

Doug Kaye: Thank you, Scott! And thanks to all of you for listening to this special edition of IT Conversations recorded live at JavaOne 2004. IT Conversations is a production of RDS Strategies. My name is Doug Kaye, and I hope you'll join me next time for another edition of IT Conversations. This interview and many others are provided by ITConversations, please visit their website at http://www.itconversations.com

Learn languages from TV shows, movies, news, articles and more! Try LingQ for FREE

JBoss

Doug Kaye: Hello, and welcome to IT Conversations, a series of interviews with experts in today's hot topics in information technology. I am your host, Doug Kaye, and today I am thrilled to bring an interview produced by guest host, Scott Mace, recorded live at JavaOne 2004.

Scott Mace: Welcome to another IT Conversation. My name is Scott Mace. My guest this morning is Marc Fleury; he's the founder and CEO of JBoss. Good morning, Marc!

Marc Fleury: Good morning, Scott!

Scott Mace: We're here at JavaOne to talk about a lot of things, but primarily I'd like to hear about the phenomenon that's JBoss and what has captured the imagination of IT about what JBoss is doing Marc Fleury: So I started JBoss as an open source project in 1999, so five years ago, and we were the early movers in the server-side open source Java arena, which aggregated a lot of people in a fairly large community of talented developers. Around 2001, we had a product that was useable, and with that, really, customers, people ready to pay for training, for consulting, etc. And so that gave birth to the model known as professional open source where essentially the core developers of projects become professionalized, join new companies such as JBoss Inc. Everyone has stock in our company, and we federate a wide array of projects in the middleware arena. So we are doing in the middleware arena what Red Hat has done in the open operating system arena. And what's capturing the fancy of IT developers is that now they can have state-of-the-art technology in the middleware space for free with support directly from those core developers. Scott Mace: I would like to drill down a little bit into the technology that makes JBoss different, and for that I refer back to the technical papers that you have written. First, the "Blue" paper. You talk in that paper about the importance of dynamic proxies in middleware. Can you talk about what that means?

Marc Fleury: Absolutely. So "Blue" is actually a fairly old paper. It's about two years old, not to say that it's not correct, in fact, the contrary, to show that we've been following that path to its logical conclusion. What's beyond a dynamic proxy is really the notion of aspect orientation. And, for anyone that's familiar with middleware technology applications, server technology, what they're about is offering to developers services so that developers write objects, and then they make that object persistent in the database. They make that object remote through web services. They make that object transactional with transaction demarcation etc. So it's about enhancing the behavior of objects with system behavior. And the whole name of the game is, "How do you bring those services in the objects?" And in the old series of JBoss, we used dynamic proxies to weave in persistence. transactions, security and remoteness under interfaces. Today state-of-the-art technology in JBoss is JBoss AO, aspect-oriented framework, and with it we are capable of working not just with objects and interfaces, but the raw objects themselves. What that enables us to do is greatly simplify the programming models so that developers are really writing in Java and with simple tags, annotating the source code, saying, "This is persistent, this is remote etc." So that vision of bringing interceptor-based aspects in EJBs, which was implemented in JBoss since the two series described in the blue paper, has really been brought to its logical conclusions today, and that means two things, as I said. First of all, JBoss AO is the core of our offering, and we built all the other products on top of it, namely JBoss Cache, for example. And then EJB 3, which is the new version of the spec that just came out yesterday at the JavaOne conference, is really an expression of that aspect-oriented way of developing, as standardized now within Sun with EJB3. We participate in that JCP.

Scott Mace: Obviously, everybody is talking about service orientation. Does aspect orientation and the idea of persistence take us to a model where the client isn't necessarily always on, always connected? Can we have persistence even when a client does not have an Internet connection?

Marc Fleury: When we talk about server-side aspects -- and here I'm focussing just on the server-side ones, and I'll touch upon the client ones in a second -- AO is a fundamental construct. It doesn't always bubble up to the view of the developers, much less the view of the users of the applications. But for developers of web applications, what it means is they're capable of working in Tomcat, so you would have a web-based connection to your server. And then with simple tags, you weave in the behavior of persistence transactions etc. In the client framework, what we're doing is we just launched JBoss Labs, and with it the first project is the rich client framework. And if you look at Microsoft, they have announced in Avalon the return of the rich client, so we went from the '90's, fat GUI, to the early '00's, thin client, everything in the browser etc. And now the pendulum is swinging somewhere back in the middle where we're trying to bring some logic back to the client, session logic, workflow logic, so that you don't go back to the server all the time and you have a fast and rich experience in your browser. There's really two offerings today; well, one is Avalon from Microsoft, which will be there in 2007. The other one is Macromedia Flex, which is the only other offering on the market. We're launching the first open source project, or rather first major open source project, around that technology and trying to bring to market rich-client functionality. And then, yes, you'll be able to be disconnected, you'll have session capture locally, it will leverage aspect orientation on the server side etc. etc.

Scott Mace: What kind of applications do you think are well suited to this development and which ones aren't? I mean, will we always have an extremely fat client running Microsoft office and Outlook and that kind of thing? Or do you think that ultimately some of the technology you're developing, the middleware, and others like IBM are going to lead to alternatives where people don't necessarily carry around that big hard-to-install, hard-to-upgrade, hard-to-make-virus-proof kind of client from being something they always have to have? Marc Fleury: Yeah, it's a good question. And, really, you have that problem not just on the client side, but on the server side. So if you look at what was going in the '90's, it was a big upgrade nightmare to maintain all those clients, and the client-server model showed some limitation as to scalability and maintainability etc. We went all the way around and all the way the other way in early 2000 with everything server based, and then, yes, sure, you had scalability, yes, sure, you had central management, but what you had lost is a rich user experience. Something as simple as reordering a table like you do in Outlook all the time to see by subject, things like that, had to go back to the server and etc. etc.

So what we're pushing within JBoss is a lot of innovation on the server side and on the client side now to bring about this next generation of middleware design. And it looks something like this, again, it looks with server-side components that are simpler to develop because of the aspect orientation and the tag nature that's being standardized in EJB3 so that the developer experience on the server side is a lot richer, simpler, no more antipatterns of J2EE. J2EE has a complex wrap; we are simplifying that. J2EE 1.5 is going to be about simplification of programming models, and we're at the forefront of that with JBoss and Hibernate and things like that, meaning we're bringing back the open source innovation into the standards, and the other vendors are profiting from it as well. And the second thing is also simplification of the client programming model so that, for example, today you have Struts on the server side, and Struts spends 70% of CPU time just doing session management when the session is a client session, and therefore it belongs on the client. So what you'll end up with is a simpler way to program for developers. I would see a first uptake in the intranet environments, high-end corporations that want rich applications, not necessarily the mass of the Internet at first because of lack of standards there right now. But, yeah, a lot of applications will benefit from that. The programming models are known on the server side. They have been becoming clear on the client side, and we're investing in R there, so you should see something within a year there, a picture that will make sense. Scott Mace: What's the state of Java today for the developer? We're still hearing some concern about forking, what's going on with Eclipse and what Sun is doing with NetBeans. Do you think that's good for the customer, good for the developer, that it's a healthy amount of choice? Or do you think that it's looking more and more like forking? Marc Fleury: I actually think Java is extremely healthy right now. Only IBM has a Freudian problem with Sun still being in control of Java, and if you pay attention, read between the lines of the announcements of work etc., they all come from IBM. The truth is Sun has done a tremendous job as a steward of Java; they're the core libraries. IBM has done a tremendous job in the tools space with Eclipse. At JBoss, we have standardized on Eclipse as our default IDE that we support. We have tag completion in Eclipse. This is great choice for the end user etc. Move up the stack, and I think you'll find an even healthier ecosystem where you have guys like IBM, BEA and us in the double-E space, in the enterprise space, where the customer has tremendous choice from open source vendors to IBM that can outsource the whole thing. And, in fact, it is a very stable system, and the proof point I'd like to give is the fact that we participate in the JCP ourselves. We write a lot of JSRs, the EJB3 that I've been talking about. Sun invited us to standardize the innovation we've been doing, so it's a big community, there's a lot of money involved. And so there is always noise, but make no mistake, that by and large all the heavy weight vendors including JBoss, we agree at the end of the day, that we all do what's good for Java in this industry. And there may be hostility in the field and the sales organizations etc. where we compete. Everybody has the health of Java in mind to have a real industry that's working, and today it is a real industry that is very healthy. Scott Mace: The growth of your company has been pretty phenomenal, and I gather you've still done it pretty much without venture capital backing. Is that correct?

Marc Fleury: So venture capitalists wouldn't touch us back when. The first venture capitalist I saw, when we put the business model in front of them, they said, "Guys, this is not a bad business plan; it's a horrible business plan!" and just took off. So we had to do without venture capitalists since the beginning. And then we built a profitable company out of the professional open source model. We have the subscription business model, which is very much like Red Hat's business model, and that works very well. So, we scaled the company. We did go for venture capital in January, so about six months ago, and we took money from Matrix Partners, $10 million from Matrix Partners, Accel Partners and Intel Capital. I still haven't touched that money, to be very honest, because we can run the company on cash flow only, meaning profitably. So we have venture capitalists, and we took the good of the venture capitalists, the credibility, the capacity to hire better people etc. in the management ranks, so we've built out the management team. The developer ranks have always been very healthy here, and we're still the cult status for open source developers that want to do this full-time and professionally, so we're definitely building the company. Today JBoss is about 50 people and growing. When we were three guys and my dog, we had already replaced Sun's reference implementation. When we were 20 guys, we had beaten BEA in a lot of deals, so imagine what we can do going forward.

Scott Mace: One of the terms you've coined is the "peace of mind market," and it refers to the revenue stream that can flow when you provide the training and the support and the consulting and the marketing partnerships that open source requires. Can you talk about that?

Marc Fleury: Sure. Actually I didn't coin "peace of mind." It was listening to one of my competitors, Alfred Chuang talking about that what he was selling was peace of mind, and it struck me as very smart. He wasn't selling software anymore. He wasn't selling a service. He was selling this ethereal peace of mind, so there was no competition. And then we realized that the main barrier to adoption for open source is about this peace of mind, and it articulates itself in, "Well, what's the viability of the company backing this up? Are there partners that are backing this company so that end user organizations feel comfortable going to open source?" So the model we've been building with professional open source and with the company is one where we back up our software; we call this "professional" open source. It's really the second generation of open source companies. The first generation, you can think of them as the Red Hat, the SuSE's. And the characteristic of the second generation open source companies such as MySQL and us is that we control our code basis a lot tighter. For example, in JBoss, we contribute 85%. In Hibernate, we contribute 95%. In Tomcat, which today is a JBoss-federated project even though it lives at Apache, we contribute about 60% of the code etc. So what that means is then we can turn around, Nukes 100%. Then we can turn around and offer to companies 24/7 support, indemnification and training, and we can recruit partners to actually sell this to offices. The partners were announced in the past month where Hewlett Packard worldwide, Novell, we announced yesterday worldwide, CA as a partner, Unisys as a partner; sort of the big names in the industry are jumping on the open source bandwagon. They realize this is a deep current and what we're all solving collectively as an ecosystem around JBoss is this piece-of-mind proposition that can put in front of decision makers, contracts that are plain-vanilla industry contracts. They understand the SLAs, they understand the support contracts they're getting into, they understand indemnification, and at the end of the day we look just like a vendor, a classic vendor, only a lot friendlier because we're not selling licenses that put our customers on the hook. Our relation is purely based on the service and they like that, and it's a very successful model so far. Scott Mace: Your thoughts on the accusations of Red Hat becoming a new lock-in model with people writing to the Red Hat kernel or the Red Hat extensions and then they find they can't port to SuSE, is that something that's inevitable and natural? Or do you think that Red Hat has made a fundamental error there?

Marc Fleury: Well, I'm not in the Linux base, so I'll give you the third-party interested-observer opinions. In fact, I was talking about it this very morning with one of my guys in the company. I think Red Hat is doing the right thing from a business standpoint, which is, first of all they branded a version of Linux. Linux is a thousand different dimensions, a thousand little programs, and because they decided to give a brand to a particular crosscutting version, it gave the ISVs as well something to target. All of a sudden they can go there, and the coup that they did that was great from a business standpoint was saying that their partners would force their customers to buy the support of Red Hat on this particular version. The second thing they do great is sell by CPU. And so if you sit down 30 seconds and strip all the open source noise that surrounds this, it's the Microsoft play! And you know what? Good for them! They're selling per CPU their service and their tools, and I can see where people who realize that get p**sed off about it. But from a business standpoint, I applaud them! We're struggling through the pure subscription model. Open source is a difficult business model, let me just put it this way, and this has gotten Red Hat in the black. They're now profitable and growing with something that resembles the Microsoft business model, and I, for one, say, "Good for them!" Now, that being said, we're profitable, we're growing with a pure subscription on the LGPL model. I think the dual license by MySQL is also a very clean business model, and I know MySQL is getting flak for it as well when, really, I think they're very clean business models. And I'm a professional of open source. I've been doing this four years, now. I make a living along with 50 other people, and in many other little companies in the domain are doing this. We're all pioneers. I always get a little bit annoyed at what I consider the communistic fringe of open source, people who have jobs on the side, but consider themselves open source. They're amateurs of open source. They're corporate open source; they're corporate employees doing open source. We're the real guys, we're the real pioneers, and when I hear this whining on the side, yeah, we deal with the mass of people. I mean, the Internet gives a voice to everybody, and I tend to try and ignore that little fringe that's trying to be holier than us when really they're sitting in their couch at home, and they're not professionals of open source. Scott Mace: I attended a breakout session last night at which some Sun engineers recommended using the Java SDK app server from Sun to develop to assure portability with JBoss, with WebSphere, whatever they're going to use because you never know when you're using those products, according to Sun, what you're going to be doing that might break compatibility. Any comment on that advice that they're giving? Marc Fleury: Yeah, I was on that panel actually. Was it Karen Tegan?

Scott Mace: It was a BoF.

Marc Fleury: It was a BoF, okay, because the same comment was made on the panel I was on. It's a valid point that every vendor has had proprietary extensions; therefore, you should develop to that. Now, what is Sun going to say? So obviously, all the Sun employees are saying the same thing since you heard it in another place, and from a business standpoint it makes sense, but it's not true, and let me explain where I think this argument breaks down. The vendors are a step beyond in that thinking. What we're trying to balance is the need for portability, which is a must in our industry. This is how I define this industry, and as I said earlier when you were mentioning forks, no one really is talking about forks, and we all know where our pocketbooks lie, and it lies in unity with other vendors. It's the cooperation, coopetition thing is really working in the Java domain. But the spec is really in its infancy. Middleware in general is in the dark ages. Some will argue we have 20 years of middleware. We only have really five years of middleware as a dominant Internet technology. I'm personally involved in academia a lot. I published three academic papers last year in aspect middleware, and there is an explosion of research and understanding of modern middleware architectures, aspect orientation again. Aspect orientation plays a big role there. That says this industry is in Pampers. And so when we started as open source, we were catching up with the spec. We caught up with the spec in 2001 and we moved way beyond since then. In fact, we've completely rewritten the book on how you assemble middleware, and for us, that's the dynamic aspect. What you read in "Blue" was really the first traces of that. We've gone to a complete understanding of this aspect nature of middleware. And so what I am saying is the vendors today are innovating beyond these dark ages of the standard and we're way ahead. We are bringing that innovation back into the standards. EJB3 is a great example of cooperation by IBM, BEA and ourselves where we're standardizing a lot of features that we pioneered in the open source community with Hibernate and JBoss AO, and we're successfully standardizing. The spec appeared yesterday, we have the first draft, so this is working. But the balance we're going through is we're exploring what developers like. Developers voted with their feet. When we showed them CMP modelling, the persistence model of the old EJB spec, and the new Hibernate, they all flocked to Hibernate. And you need to have that kind of guidance in a very democratic way through open source mechanisms that are bringing no-nonsense development back in the spec. And therefore we will continue innovating and bringing back in the spec, and that's the way it's going to go. Scott Mace: Your thoughts on Sun being pressured to open source the rest of Java? I mean, they're starting to; they did Java 3D yesterday. When do you think that we'll see completely open source Java? Marc Fleury: So, again, this is a lot of noise by IBM in a very Freudian way. They want to be the father of Java, and I'm not sure I would trust IBM there. So to me, it's a red herring discussion. Java is first and foremost the JDK, meaning the actual implementation of the virtual machines, so they only thing that would make sense to open source would be that Sun open source the JDK, the virtual machine itself and its implementation. Definitely in JBoss, we deal with deep-class loading architectures that are core to the Java platform, and we've seen bugs in the virtual machine. An open source implementation of the virtual machine would help us. Now, the control of the specification, the control of the brand, the control of who can call something Java with test suites etc., that definitely should be Sun, and I don't know what it means to open source a standard. To be very honest, Scott, it doesn't make sense to me. You don't open source the JCP. Open source is about code under open source licenses, meaning implementations. So it's a popular topic because, if anything, open source brings a lot of emotions in the discussion. It definitely gets coverage in the press, but this discussion is not as deep as it appears and the only thing that could happen is Sun open sources the JDK. Fine.

Scott Mace: How significant is it that Eclipse did a demo running without a virtual machine for performance reasons? Do you think that's going to be something that we see a mix of in the future? Or is that just an interesting experiment?

Marc Fleury: You catch me by surprise here; I didn't see that demo! So you're saying that Eclipse runs natively on the platforms? Interesting! Yeah, one thing, I think, that has made the success of Java is the portability of the virtual machines, period. It starts there; it finishes there. Developers love portability specifically on the server side. That was an early insight. "Why did I go to server side?" Java on the client is useless. You get a monopoly of Microsoft, and I'm not saying it's good or bad, it's just a fact. Now on the server side, you have a hodgepodge of operating systems. You have Linux, you have Windows, you have Solaris, and you're going to have that mix for a long time; therefore, you need portability. Today the best way to do portability is still virtual machines, and there, you do have a lot of interesting things going on. You have .Net virtual machines, the CLI format, there are very good things there; in fact, we copy a lot of the .Net features in our aspect-oriented framework, the tag nature etc. So, for open sources guys, we actually like Microsoft technology. They're doing good things. And so CLI, virtual-machine-based architecture, all these are very interesting domains of research. I won't describe the Eclipse running natively as a toy app -- I haven't seen it, I have to look at it -- but anything that runs natively strikes me as a blow against portability, and that's not good, that's not Java. Scott Mace: How far do you think the detente between Sun and Microsoft can go? Do you see a merging of some sense of .Net and Java or J2EE at some point, or it really can only go so far?

Marc Fleury: Yeah, it's a great question! Well, first of all, from a business standpoint I think both Microsoft and Sun have one enemy, and that's Linux. Although Sun could become a friend of Linux, they're not. The open source movement in itself, I like to say always that open sources is not just Linux, and living proof are MySQL and us in the second-generation open source companies. So, I'm not surprised to see?and everybody says that the move between Sun and Microsoft is first and foremost to combat Linux and, yes, that makes a lot of sense that it would get together to protect that operating system world. Now on the technical side, again, Java's value proposition to developers has always been, since the beginning and still today, the portability across operating systems. And the idea of a .Net platform that only works on Windows is nonsensical to me. Why would you go for that when you already have portability? Why would you limit your market if you're an ISV, for example, to 40% of the market of Windows when you can have 100% of the market with Java? So I do see competing things there. For our particular case -- and I just covered what I think Microsoft and Sun could do together -- in our particular case, we're looking at the .Net platform with a lot of interest right now. There are things such as IKVM, virtual machines that port to the .Net byte code format so you're writing Java and you run on .Net and you expose Java objects as .Net constructs, C# objects. That is very interesting because state-of-the-art server-side technology in Microsoft is not very good. The language is great, the ideas of tag-driven development were, in fact, copying in J2EE what's really not good in the Microsoft platform or other services themselves. The persistence is a joke. You're looking at raw JDBC calls or SQL calls. So this is still the prehistoric ages of this today. We have Hibernate. We know how to do object/relational mapping; we know how to do high-end caching etc. So there may be an opportunity for JBoss to start marketing some of those products that we have in the Java world for the .Net guys, saying, "Hey, lookit! We've solved these problems in the Java world, and when it's relevant to you guys, what's the business model we go there with?" is an interesting question. But we're about open source, we're about professional open source, sticking to open source licenses and making a good living at it, so we're thinking about this very seriously and we'll find a way. Scott Mace: What do you think about Mono, which Novell now owns and certainly comes out their group they gave us Gnome? Is that a possible interesting way to get .Net on other platforms?

Marc Fleury: Yeah, I mean, supportability is a must, and the only story there is Mono, whether it's a viable story, that the Mono virtual machine is going to be up to speed with the Microsoft virtual machine, and that it's going to run as well on Linux, that's anybody's guess. And I'm not sure anybody's trusting Microsoft to promote Linux; it goes against their business model, per-i-od! Microsoft does not like Linux, not really open source, it's Linux they have a problem with. So I'm very fuzzy there as to how this whole thing can play out. That being said, what about AIX? What about the other operating systems that are there? What about the Mac OS? Java has already solved that problem five years ago, so to me, it's a me-too play. They're reinventing the virtual machine wheel. We've moved past that universe five years ago when we all started focusing on the libraries themselves, dynamic proxies, AO, enterprise layers; there's a whole universe of knowledge there that has been compounding over the years. And we're seeing these guys trying to reinvent the first step on a route to the complete offering, and then with slim chances of success because the guy in front who really controls that platform has no interest in seeing them successful at all on Linux. So I think you're going to see a lot of?they're going to talk about it, they're going to pay lip service to portability because it's definitely the biggest blow against .Net, that it is not portable across the platforms. But it doesn't make sense from their business standpoint; it goes against their very nature, so I don't see it happening, frankly. Scott Mace: Is there something about training as a physicist that predisposes someone to be an innovator in the Internet application space? I'm thinking of Tim Berners-Lee and yourself? Marc Fleury: Yesterday I was talking with another who had a Ph.D. in Physics and a Ph.D. in Math, and a lot of our guys have Ph.D.s in hard science. Hard science is a great training, but there's no money in physics anymore, so definitely coming to computers sciences or to computers in general, enterprise IT is a great professional field to be in. You've got this mix of hard core science to a degree of code, which is very, very technical, and then of an industry that's very quickly moving where you have a lot of parameters that you need to grok at the same time to get a picture, so for somebody who is trained to do that, to have a very generalized view of what is going on, it's a very exciting field to be in. And compared to people who have just computer training or just business training, being able to bridge the two gives unique insights. So when I talk to salespeople, I'm way more technical than some of their developers are, so it's an edge. And when I talk to techies I also have the marketing mind and where things are going. So, a lot of guys in JBoss have that dual profile. We call ourselves the McKinsey of code. We can think with both brains and it gives us some edge definitely, and I think it comes from the training in hard science to some degree, absolutely.

Scott Mace: Thank you, for speaking with me today, Marc!

Marc Fleury: Thank you very much!

Scott Mace: Join us next time for another IT Conversations.

Doug Kaye: Thank you, Scott! And thanks to all of you for listening to this special edition of IT Conversations recorded live at JavaOne 2004. IT Conversations is a production of RDS Strategies. My name is Doug Kaye, and I hope you'll join me next time for another edition of IT Conversations. This interview and many others are provided by ITConversations, please visit their website at http://www.itconversations.com