The Source for Java Technology Collaboration
User: Password:



Ed Burns

Ed Burns's Blog

Welcome to the JavaServer (TM) Faces Implementation Project!

Posted by edburns on June 28, 2004 at 09:56 AM | Comments (6)

Hello, and welcome to my first blog on java.net. In spite of all the hype about blogging lately, I was still hesitant to jump into the blogging universe until I had something to say, and today I do: Welcome!

People have been requesting that Sun release the source code of its implementation of JavaServer(TM) Faces Technology for several years, and Sun's answer has been that doing so is under review. I won't go into the reasons for the length of the review process, but I'm happy to announce that it's finally complete. We have created an open development project on java.net to host the continuing development of Sun's JavaServer Faces implementation. All previously internal development will be done in this project; there is no private source tree that we really use. In other words, this project is not just for show. Please read the FAQ for answers to such pressing questions as "how do I get and build the source".

You'll note that I didn't use the term "open source", but rather, "open development". We're doing so out of respect for the rigorous definition of the term supplied by the Open Source Definition (OSD). I'm not a lawyer, and I can't tell you where the Java Research License, which we're using for our project, stands with respect to the OSD. I'll leave that to someone who doesn't write code!

In any case, as with any open development project, there are many levels of participation. You can file bugs so we know about them and can get the fixes to you as quickly as possible. You could simply grab our regular builds to check if your pet bug has been fixed. You can browse the source code to get an explanation of the behavior you're wondering about. You can, also (my favorite) build the code yourself and run it in a debugger for the ultimate in development transparency.

Presently we are only accepting Observer role members into the project, but we plan to open the project up to committers on a case by case basis once trust is established that our development processes will be followed.

So what are these processes? We'll have more detail in the FAQ but here's the idea. All the code in the javaserverfaces was developed using Test Driven Development. Each checkin must include either a new test, or a modification to an existing test to prove that the new code works as expected. Before checkin, each developer's workspace must successfully execute all automated tests, as well as have code review and approval from another developer. We employ the usual suspects to make this happen: ant, junit, cactus, and htmlunit. Heavyweight? Perhaps, but when you're testing resources are so taxed that they can't spend as much time as you'd like with your project, these measures are well warranted. I feel that our commitment to code review and test driven development has contributed significantly to the quality of the project, and helped to reduce the bug introduction rate.

To wrap it up, I'd like to share what we hope to gain from doing open development on javaserverfaces. This project aims to:

  • be the most complete implementation of the specification.

  • have a fast turn-around time for getting bug fixes into the hands of users.

  • build a community of developers who are committed to increasing the quality of Sun's JavaServer Faces implementation.

  • demonstrate uncompromising commitment to test-first development and code review for all code coming into the project.

Technorati Tags:

Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first)

  • Licenses
    "I'm not a lawyer, and I can't tell you where the Java Research License, which we're using for our project, stands with respect to the OSD. I'll leave that to someone who doesn't write code!"
    It's not even close to meeting the OSD, which I'm sure you knew even before posting your snarky "people who care about licenses are surely not coders" remark. More importantly, it's not even close to a free license. It's a research only license, as the first paragraph of the explanation indicates:

    If you decide to use your project internally for a productive use, and/or distribute your product to others, you must sign a commercial agreement and meet the Java compatibility requirements.

    You say you didn't use the term "open source" because of the "rigorous definition of the term supplied by the Open Source Definition." However, your license does not even give me the basic freedom to actually use the code. I am licensed to look at the source, talk about it, play with it...and if I decide to use it for something, I need a different license. The reason you didn't say open source is because it isn't. Not even close.

    License the code however you want ... it's your code. However, please don't mock those of us who prefer licenses that allow us to make changes, distribute them, and use the code in productive ways.

    Posted by: mdi on June 29, 2004 at 07:33 AM

  • Licenses
    After reading my previous comment, and thinking some more about it, I realize that I didn't say everything I should have said.

    First: your project is to be commended for moving to visible source and transparent development.

    Second: the JRL is an interesting license. It grants many of the freedoms that would make it open source, but denies the most important: freedom to use the software.

    Finally, here's what it sounds like your project is saying to developers:

    We've made some software.

    We'd like for you to download it and play with it in a research capacity.

    We'd like for you to find bugs and tell us about them.

    We'd like for you to make cool changes to our software and pass them around, knowing that we'll probably incorporate the better ones into the software.

    We'd like for some of you to come and work directly on the software, if we check you out and you agree to follow our process.

    Oh, and by the way: if you decide you'd like to use the code to do anything useful, you'll have to go through another process and get a commercial license.


    While that may sound good to some people (and it's better than what some projects offer), it doesn't sound very open to me.

    PS: The "real coders don't argue about licenses" line really ticked me off, and I'm sorry if I responded too soon.

    Posted by: mdi on June 29, 2004 at 08:13 AM

  • Licenses
    Hello mdi,

    Thanks for your followup, and the second one in particular. I was merely trying to inject some levity into the blog with my, "leave that to someone who doesn't write code" line. In fact, I was referring to the many lawyers who helped us release on java.net, who (thankfully) don't write (production) code.

    Now, on to the "there's another license for distribution" point. Yes, there is, and legal is finalizing the details of it. We will be releasing it before the end of the month, and this project will be subject to it. I've seen an early draft of this license and it seems reasonable.

    Ed (JSF Spec Lead)

    Posted by: edburns on June 29, 2004 at 10:57 AM

  • CVS access
    I, for one, am ecstatic that the RI is so visible. I think it'll really help the adoption and evolution of the framework. However, the link on how to get CVS access currently references a file on C:\. Since I run linux (and I don't work at sun), that file lives nowhere on my harddrive. Could we get that fixed? I'd sure like to get involved. Thanks.

    cheeser

    Posted by: cheeser on August 03, 2004 at 12:08 AM

  • How do we approach testing the JSF components that we have built. Should we use the test driven methodology?
    What are the tools that are available for testing the custom JSF components?and which is the best tool?
    What are the things that we need to test in a custom JSF components?
    Should only the renderer output be tested or we need to test the inputs to the components too?

    Posted by: julius_ferns on November 09, 2004 at 11:20 PM

  • Testemonial
    Hi there Ed. I'm a guy that just loves JSF and can't see a better way to write UI's. I'm writing to ask you something. I am a user(will soon be a moderator and exam leader) on javablackbelt. You can take a peack there. Most of the exams have a small testemonial from someone who has been involved with that technology. What I want to ask you if you would be interested in writing a small testemonial for the JSF 1.1 exam. If you are interested, please let me know, and I will put you in contact with the person who is responsible with the testemonials.

    Best of wishes,
    Alex Enache

    Posted by: foxro on July 24, 2007 at 04:06 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds