Interview with Oracle’s Justin Kestelyn and Henrik Stahl – 9/22/10

Moderators:

  • Guillermo Castro
  • Jeff Genender
  • Justin Lee
  • Craig Tataryn
  • Jason Whaley
  • Heath Kesler

INTRO

Welcome to the Basement Coders Podcast. We'll cover topics in development news, and voice our opinions. The opinions we express are from on the ground experience. So sit back, relax, and enjoy. However, if you are one that likes to give feedback, or express your own opinion, please feel free to leave comments on our blog, at BasementCoders.com. That's BasementCoders, one word, .com. Or follow us on Twitter: @BCoders. Thank you, and enjoy.

Crash PlanSponsorship for the Basement Coders podcast, as always, is provided by Crash Plan - $3.47/ month is worth it for your peace of mind. Your precious photos, documents, you name it should be saved safely outside of your home. So visit CrashPlan.com to start safeguarding your data for free for 30 days with Crash Plan Central. If you'd like to enter for a chance to win a free one year subscription with their completely secure Crash Plan off-site data center for as much data as you can throw at it, simply go to basementcoders.com/crashplan, that's one word, and follow the steps to enter.

INTERVIEW

Craig Tataryn: Up next we present another special Basement Coders podcast live from Oracle's JavaOne conference in San Francisco. we sit down with Oracle's Justin Kestelyn head of Oracle's OTN network and Henrik Stahl product and strategy lead Java platform technologies to talk about the challenges they faced integrating the Oracle and Java communities, Oracle's commitment and goals for Java and the Open Source community.

As with our previous cast, this one was taped guerrilla-style from the Mason St. tent. From time to time you'll hear the Google lady get on her microphone and prod geeks into playing with Lego. But let's face it, you don't really need a microphone to get geeks to play with Lego anyway. So without further adieu we present another live taping from Oracle's 2010 JavaOne conference in San Francisco.

Craig Tataryn: So here we are live at JavaOne and we have a special guest, Justin Kestelyn. So Justin, what's your position at Oracle?

Justin Kestelyn: So I am the senior director of Oracle Technology Network and Developer programs. So OTN for people less familiar with it from the Sun days is an analog to Sun Developer Network, in that we are kind of the chief expression of the Oracle Developer program hear at Oracle although, there are other pieces of it in different parts of the company, we are kind of like the "main conduit" you could say between Oracle and the Developer community.

Craig Tataryn: Ok, so is that like when I typically go to Oracle (website) and I'm looking for, say, in the knowledge area, information as a developer is that your area?

Justin Kestelyn: Yes.

Craig Tataryn: Ok, is it on the Java-side and the Database-side?

Justin Kestelyn: Actually it's the whole thing, even before the Sun acquisition Oracle had a huge developer community on the database and application development side. It's a whole different world (in reference to Database vs. Application developers). So we catered to those guys. So when Sun came over, we actually had a great opportunity to bring together the really great communities that have a lot of similarities under one umbrella and that also includes, by the way, systems developers;people working in C on the Solaris side so there is a whole developer community there as well.

Craig Tataryn: So you brought them in as well.

Justin Kestelyn: Yes, we brought them in as well and we also have programs and content designed for architects. Our definition of an "architect" is more in the "Enterprise Architect" side as your typical "Software Architect" it's more of an executive position. But all those things, they are all part of our community and of course database administrators and long-time legacy Oracle database community.

To make a long story short if you are a technical end-user, whether it's on the Java-side or the database-side or on the middleware-side that's our area.

Craig Tataryn: So what are your origins? What's your career been like thus far. Have you been with Sun/Oracle...

Justin Kestelyn: I came to Oracle in 2003 before that I was actually a technology journalist. So I worked at CMP-media, Miller Freeman going way way back. My first job out of college was the editorial assistant at Computer Language Magazine.

Craig Tataryn: Oh wow?

Justin Kestelyn: Covering Turbo Pascal

Craig Tataryn: ah, I love Turbo Pascal!

Jeff Genender: Oh, I love that too. So, he was on the journalist side, so he knows we are going to hit him (inaudible) questions (laughs)

Craig Tataryn: And he knows how to dodge them (laughs)

Justin Kestelyn: (laughing) yep, I know all the tricks

Jeff Genender: I guess we can't get him now

(5:28)

Craig Tataryn: So that's great, so what did you do in college? What was your major?

Justin Kestelyn: I was a history major at UC Berkley

Craig Tataryn: Oh wow.

Justin Kestelyn: And, you know.

Craig Tataryn: What is Berkley like? I've only heard, you know, the "60's era", you know I've only heard of *that*. It's a very "forward thinking" type of college?

Justin Kestelyn: oh yeah, it's great it's one of those environments where you can really kind of become yourself, it's kind of trite to say that but, you can explore a lot of different things,it's very open, very innovative, there's no peer pressure to do one thing or another so you can really come into your own. So yeah, it was a great experience.

Craig Tataryn: And that's kind of translated through the faculty and everything?

Justin Kestelyn: Oh yeah, absolutely.

Jeff Genender: So you've recently come into the "Java-side" of things, so do you see any differences in the two communities? (referring to Database vs. Java devs)

Justin Kestelyn: Oh, for sure.

Jeff Genender: The Java guys are a bit more prima-donnish right? (laughs)

Justin Kestelyn: Well, I don't know if I'd use *that* word JW: Present company excluded of course (laughing)

Jeff Genender: Now, I know I'm a Java guy so I'm just saying that

Justin Kestelyn: I think I prefer to use the word "passionate" and when you are very passionate you know you can be very opinionated

Jeff Genender: I like to use that with my daughter, when she becomes the prima-donna with lots of drama I'll just tell her she's "passionate" (laughs)

(6:48)

Justin Kestelyn: but yeah, there are differences and there are similarities, we could talk about that all day long but I think there are actually more similarities than differences in that, again there are passionate people in both communities and when you are passionate you are vocal, hopefully you are vocal and there are a lot of vocal leaders in the non-Java area as there are in the Java area.

Jeff Genender: Now, when you came into Java, did you find it as challenging, and I say "challenging" because obviously there has been a lot of change lately and everyone's worried and all that, did you find it a challenge coming into the Java community being tasked with your new... (role?)

Justin Kestelyn: Absolutely, for starters and this is something when I read the news in the morning about Oracle buying Sun, it all started clicking in my brain. You know, this is a technology platform versus a product, right? So if you are a developer in the sort of traditional OTN community, someone who has great allegiance to the Oracle products like Oracle Database for example. Whereas on the Java side we are talking about a platform, we are talking about a technology it's a whole different approach, you have to interact with people in a whole different way. The way I kind of described it within Oracle in the early days that we had gone from being the owner of a baseball team to commissioner of the league. And when you are the commissioner of the league there are certain things that you can't do that you would have otherwise had done as an owner of a team. So from that get-go that sort of frames my thinking in sort of how we should deal with things.

Craig Tataryn: So what does a day in the life of Justin look like as OTN lead? And how was the party yesterday (in reference to a big OTN party at Moscone, invitation only)

(8:38)

Justin Kestelyn: The party was great.

Craig Tataryn: We tried to crash it.

Justin Kestelyn: What?

Craig Tataryn: We tried to crash it, but your security is very good.

Justin Kestelyn: Oh my.

Jeff Genender: They (security) said "You have to be in OTN network" and I said "wait, we've all downloaded the JDBC driver from OTN" (which makes you register for OTN before you can do so)

Justin Kestelyn: no no, god, you guys should have come to see us yesterday and we would have given you tickets.

Craig Tataryn: Oh, next time, next year.

Justin Kestelyn: That's unfortunate, I'm sorry to hear that.

Craig Tataryn: No problem, so yeah, what is your daily...

Justin Kestelyn: Well first of all let me just start out by saying it's not just me, there's a team of 10-12 people and they all have their own responsibilities within our group and they all do a fantastic job. Gosh, I don't know, it's a little of this and a little of that. It's a little bit of editorial because by my nature I have sort of an editorial background, so content is a big issue. Oh, here is Henrik. (Henrik Stahl sits down).

It's a little bit of community interaction obviously it's about talking to people and interacting with them it's about creating channels where by people can communicate between the "Oracle firewall" and the community. So it's a little bit of this and a little bit of that and it's what I like about my job the most I think is because it's very very multi-faceted and also, the best thing about it, it gives me the opportunity, gives me an excuse really to talk to anybody I want to at Oracle from the engineering side and that's really cool. If you are interested in technology it's a great place to be.

(10:12)

Craig Tataryn: Great, well, we actually have another guest here, Henrik Stahl, nice to meet you.

Henrik Stahl: Thank you, nice to meet you.

Craig Tataryn: So, what is your role at Oracle.

Henrik Stahl: Yeah that is a good question, I am responsible for the team that owns the product strategy for the Java platform.

Craig Tataryn: Ok, so do you work closely together with Justin (Kestelyn)?

Henrik Stahl: Absolutely, yeah. So my responsibility ranges from providing detailed input to engineering teams so they can build the things that are most important right now, to working with the community, partners, customers, competitors, pretty much everyone in the ecosystem. A little bit more inbound, Justin (Kestelyn) is one of my liaisons to the community.

Craig Tataryn: Ok, so what are some of the things you are working on these days? The important things I guess.

Henrik Stahl: Right, ok, well there are so many I can hardly name them all but if we tried to pick some of the top ones, so, we are trying to untangle some of the strands around moving Java forward. It hasn't been moving forward as quickly as everyone would have wanted over the last few years. We are trying to change that. We've made fairly significant investments in Java, well, (even) prior to the Sun acquisition, but even after we staffed up the teams, we have a lot more engineers working on moving this forward. We've communicated what we believe is the right strategy short-term. You may have seen things like Mark Reinhold blog on the proposed "slimmed down but release quicker JDK 7"

Craig Tataryn: So Plan A/Plan B

(11:49)

Henrik Stahl: Yeah, Plan A/Plan B, so we are actually happy to see we have so (such) strong community support for our proposal, it's been like 70%-80% in every poll I've seen. To be quite honest we don't believe it's perfect, no one does, but it's the best thing we can do right now. so getting that plan in gear, just getting feedback from everyone who should have a say in this, which is a huge number of entities, private people and companies alike.

The JVM strategy for Oracle...

(12:26)

Craig Tataryn: Sorry, hold on technical difficulties (here's where Garage Band tells Craig that his disk is low, although he has 380GB free, you might have noticed the amount of background sound doubled in the past few minutes, that's because we lost my mic for that time. You get to endure the Google lady in all her audible glory for the next few minutes I get it back online. Chief example that redundancy pays off.)

Henrik Stahl: Alright, so Oracle's JVM strategy is another of my chief concerns right now we have several JVMs in-house, but we have two mainstream ones (assuming he's talking about Oracle's JRockit and Sun's JVM) and we are looking at how to merge them and make the result of that available to the community. Fixing things like: updating license agreements, changing Sun to Oracle, you can't imagine how much time those all take.

Craig Tataryn: I noticed a couple of months ago, I was looking for some JDK documentation, I wanted to checkout a Class or something and I noticed the documents all reference Oracle's site. That's gotta be a big task right there, because all of a sudden you are the owner of that technology.

Henrik Stahl: Yes, it is. Scary isn't it? I haven't slept much in the past few months (laughing). This is great fun though to be honest. It's interesting to move from a company that's perceived to be all commercial to now being custodians of something that's of paramount importance to a large industry. A lot of people don't believe we will do that in a benevolent fashion, but I don't think they understand why we've done this. From our perspective this is just an insurance policy (referencing being benevolent toward Java and its community) we have an incredible investment in Java and if Java gets screwed up we lose, we actually lose more than anyone else. That should be all the guaranty you need. We are going to maintain Java, enhance it and carry it forward because we benefit and the best way we can do that is to continue to work with the community and for the community because if the community succeeds then we will succeed. It's as simple as that.

(14:05)

Jeff Genender: Now, are there any concern on your side moving forward; a lot of us are Open Source guys, we commit, we contribute a lot to OSS, associate with OSS groups and definitely everyone kind of feels concern as we are moving forward because we know Oracle is a nice great big company with some great products and the open source built everything on "community driven". Do you see challenges both from the perspective of both getting buy off from the community to being accepted and do you see challenges on the Oracle side about having more community contributions to the periphery of the open source products, an example being like maybe the JDBC drivers (Oracle's JDBC drivers). One the issues Java developers have had is getting really good access to that for all the Maven repositories out there. Is there any shifts in thought processes on some of the challenges you might have in making those two communities meld together?

Justin Kestelyn: (to Henrik) do you want to start?

Henrik Stahl: Ok, absolutely. So we have had this type of challenge before in the past but it has been, and I think Justin (Kestelyn) said before I came into the discussion, quite a bit different. I mean, a lot of people have an opinion about where we should move our products and our technologies and in this case a platform, which is not quite ours. For the sake of this conversation, I can say "our platform". We always have to deal with conflicting priorities because some people want to go one direction , and others want to take it in another. Of course now with the Java platform and the enormous community around that, it's just so much more complex than anything we've had in the past. There is no way we'll ever be able to make everyone happy. It just will not happen. So, what we are going to try to do is to move forward in a way, communicate our intentions openly, get feedback and if we don't agree with that feedback we are at least going to make a good attempt to answer it in a good way. Sometimes we may not agree to it (feedback) because of technical reasons and sometimes we may not feel a particular proposal is something we care about and in that case we would just say to the community "well, great you go fix it. We won't hinder you in anyway.". And sometimes we won't agree with it (feedback) from a business perspective so we are going to try to be more clear on why we argue for or against something. We may not always succeed, but that's (openness) the intent, and I believe the biggest challenge we have;and this is actually something I've seen over the past few months;is making our intentions clear. If we can communicate in a more transparent manner, actually more transparent than Sun did because it was a bit oblique at least from us (Oracle before the acquisition) as a partner's perspective to oblique. I'd like it to be more transparent and more predictable. So that people who interact with us, people who interact with the community know what to expect from us, they know how to give us feed back and they know when they get a response they will know why they got that response. So hopefully a bit more honest.

(17:22)

Jeff Genender: Yeah (agreeing), that's great.

Justin Kestelyn: Yeah, I mean I think we felt this for a long... I mean even before the Sun acquisition: authenticity is very important. Being authentic means as Henrik said, it means being clear about what your decisions are and why you made them. Sure, people may disagree with your decisions as people often do, but the point is that if we are good at communicating why we made those decisions then we are confident that people will feel much more comfortable. On the Open Source side, Oracle has been a first class Open Source citizen for a long time in the Linux area for example. We've made massive contributions to the Linux kernel and people should feel comfortable and as Henrik said we need to be more transparent and if we can get there then we'll be in good shape.

Jeff Genender: Yeah (agreeing), you know from our perspective, the Open Source people I think Java's biggest contribution is the community, the community itself brought probably the richest Open Source ecosystem around. I mean the things that are out there, I mean the Open Source community they've even literally toppled licensed model from what's gone out there to after and take the JSRs and develop these just incredible products and run things on the TCK and get certified and give this stuff away and it becomes commodity product. The Open Source community built this entire ecosystem so I think the Open Source folks feel ownership. They feel like they own a part of what's out there so I think that's where a lot of this passion comes from. They are always afraid when someone new takes over, are they going to continue helping to build this community and this ecosystem and to keep it going and I think that's the fear.

Henrik Stahl: I think you just brought up the key point here, the problem here isn't necessarily our intentions or what's happening, the problem is people are concerned and maybe afraid because they don't understand what's going on. They don't have enough information. Change is scary. We recognize this, to be honest it took us a few months to recognize it and we were a bit kind of "heads down" trying to figure things out after the acquisition. While I'm kind of "in the air" or whatever you want to call it... apologies... we couldn't really move forward any faster because we were hindered from talking to each other (Oracle and Sun) prior to the acquisition due to things like the "EU review". So it took a few months, however we have started communicating, we do have honest intentions, you may not believe us when we say this but we do have it. I think the best way we can prove that is to continue to tell everyone what our plans are, what our priorities, listen to their feedback. If we get strong feedback we are going to change our opinion, JDK 7 Plan B is one good example. Yes, we put out the proposal we believe it's the right thing, we have listened to feedback. If we had gotten opposite feedback we would have changed our minds. As it happens, it appears that we are heading in the right direction. So we are executing on that until further notice, so no doubt about that.

Final thing here is I think that most of these fears; it will take time for them to go away because, again, this is a new role for Oracle and people haven't seen us in this before; and I think the absolutely best thing we can do is to continue to be open and start delivering and that will take time. So we just have to recognize that and live with the fact that people will be skeptical for a while and hopefully after a few years (Craig: oh, Garage Band thinks I have no diskpace again, yay! Down to one mic for a bit) of us doing good things together with the community that has been decreased. We are in this for the long run. We, as I have said, have an extremely strong dependency on Java ourselves. We aren't going to screw it up.

(21:15)

Jeff Genender: That's great (agreeing), well, I think if you want to do an olive branch right out the get-go, show good will, put that darn JDBC driver up in Maven central (repository) you'd make a lot of developers happy (laughing)

Craig Tataryn: I know, at so many companies they say "you can't go download (not even from Oracle) that driver" but it's like "I need it" (laughing)

Jeff Genender: But I can put the MySQL one in there (laughing)

Craig Tataryn: But, going back to Java 7,uhmm, JDK 7 sorry, I know a lot of people it's almost like they want Java to be a kitchen sink now. It's like "oh, there's closures, we want those. Or "there's X, we want those". Is that tough to kind of tell people "look, we're not doing this for these reasons" I mean there are people that are passionate about some language features.

Justin Kestelyn: That's one of the key differences, I think Henrik will probably agree with this, that Sun did a very very good job of creating a certain level of expectations. Maybe they weren't so realistic? We are now in a position where we have to kind of reset those expectations in a pragmatic/realistic way and again that's part of this process of being authentic and transparent about what can be done and in what timeframe. It's kind of an interesting position.

Craig Tataryn: So you kind of inherited a few of the big issues in Java (laughing)

Justin Kestelyn: Yeah, I mean I don't want to lay it too much on their door but the point is that people have these expectations before this integration even started and they've needed to be reset. The new release schedule obviously reflect part of that in terms of what actually can be done in the realistic timeframe.

Justin Lee: On that note do you think, without necessarily committing to anything, do you think you are going to go for the smaller, quicker, more frequent updates to the platform or do you think you'll continue like with Sun (how they did it) where you'd have a new version of Java like every three or four years it seems. In between that time, is forever in computer terms. So do you think you are going to push for more smaller more concise releases and get them out more frequently?

Henrik Stahl: That's a really great question, the underlying issue here at stake is that you have a kind of vibrant developer community in particular in Open Source who wants to move forward as quickly as possible. On the other hand one of the things that have made Java really successful is the huge adoption in the enterprises and the enterprises are in many cases incredibly conservative. They don't want to be forced to support like five or six different versions of Java at the same time. We recognize this conflict of interest and we, along with the community, are going to try and find a good way to balance it. You will not get releases (of Java) every three months. Java is too mature for that. We also don't believe that the five years, or whatever it's been, six? is acceptable, so there needs to be a good balance. Of the kind of "finger in the air" estimate I'd say maybe a major release every two to three years is right. I think the next couple of releases have to be faster (closer in timing) as we have to catch up compared to the competition, other competing platforms. Because Java has been lagging behind a bit. So, let's do JDK 7 and JDK 8 a little faster and after that we can get back on a regular schedule.

However, one thing I'd also like to mention is that this applies to the standard, it applies to the language and to some extent to the libraries. A lot of innovation goes on outside of that. On the API side, you can do anything you want and then slowly as it becomes accepted we can move it into the Java platform. As a matter of fact I believe that's almost a better way for developing a standard: let someone else build the technology, let it prove it's success in the market place then pull it into the platform.

(25:30)

Furthermore, on the JVM side which is a critical piece on the platform, it's almost disconnected from the Java release train at this time. It's been, for Sun, since 2007 I think. For JRockit, which I came from, it's been disconnected since 2005. We certainly intend to deliver JVM enhancements on a more aggressive schedule because it never changes the compatibility, it's just a matter of getting better performance, diagnostics features and so on and so forth.

Jeff Genender: What about IDEs? I know there is a lot of fear out there about NetBeans. It's got quite a big community behind it. Any concerns or thoughts on JDevelop along with NetBeans and the community and continuing to foster the IDEs.

Justin Kestelyn: Well in fact, I don't know if anyone caught this but I did an interview with Duncan Mills who's the senior director of product management for Java's IDEs. So that includes JDeveloper, Enterprise Pack for Eclipse it includes NetBeans and ADF as well. And yes, NetBeans is a great technology, it has a huge community and I think you saw Thomas announce last night there will be two new releases in the next couple of years at least and, it's safe I mean it's the reference implementation (and) that's not going to change.

Craig Tataryn: It's got a pretty good market share too.

Justin Kestelyn: Sure, and there's no need to be creating a master IDE that tries to be all things to all people.

Jeff Genender: Oh, you mean Eclipse (laughs)

Justin Kestelyn: (laughing) I mean you can quickly get into trouble that way right? So they each have their own place (in reference to Oracle's Java IDEs), they each have their own communities and the beauty of it is that now that those communities are talking, now that the development organizations are talking to each other they can actually start improving each other's code base in that some of them are solving problems in ways that others have not figured out how to do. There's going to be a bit of cross pollination over time I think.

Craig Tataryn: Well, I think that was great, unless anyone has anything else...

Jeff Genender: Well, as we are going out they have to say our motto. Here's our motto if you can read the back of my shirt.

Justin Kestelyn: "Stay Geeky My Friends"

Jeff Genender: Let's all do this on the count of three, 1, 2, 3

All: Stay Geeky My Friends!

Craig Tataryn: Thank you very much.