quality@glassfish.java.net

Re: Request for comments : FishCAT, the way forward

From: Kristian Rink <rink_at_planconnect.de>
Date: Tue, 29 Jun 2010 10:24:25 +0200

Hi Vladimir;

nice reading from you again. ;)

> Hi Kristian,I'm sitting now on the bed and looks like I have one or
> two hours to fight with you a good fight :)We will see yet who is
> more stubborn you or me :)

Let's see, indeed. :)



> This is a good question, let me try to answer on it.It would be wrong
> to separate people from perspective of one project.For example you
> are fighting bugs inside of Glassfish and I'm fighting bugs inside of
> Netbeans.We both are using the projects. One day I will need
> desperately that Glassfish team very quickly fix some issue with the
> server.Because I didn't hunting for Glassfish before I don't have any
> influence on the team. So I'm stuck. And it's not fair because I did
> my share of volunteer job working with Netbeans team.You should
> understand that I don't have unlimited time on my hands to fight in
> all directions.


Hmmm, I finally get your point on that now, and I generally think you
are right about that. The "easy" answer would be: There is a difference
between being active in an open source community and having "mission
critical" support at hand (in terms of getting developer questions
answered / real-world project problems fixed in a reliable amount of
time). If interacting in an open-source environment, communication and
collaboration is sort of "loosely coupled", and you have to rely upon
the very idea that everyone (including you, hopefully) contributes as
good as (s)he can so in the end most questions will quickly be answered
if there are enough people around - this seems a simple matter of
probability and statistics. If you need a more "reliable" playing
ground, you'd be better off buying support with a pre-defined SLA.

But this indeed is an impolite answer given someone is active in an
open-source community or project. But I am not sure whether there is a
better way of getting this problem resolved. To make this completely
"meaningful", it would end up with a model more or less like this:

- As a developer, one is both sort of a "customer" and a "partner" of a
  company involved with a project - in this case Oracle and has an
  assigned account.

- This "assigned account" is billed whenever the
  "developer"/"partner"/"customer" is about to use services provided by
  the company, according to rules and billing conditions that need to
  be clear in advance. This procedure happens, getting back to your
  initial suggestion, using "virtual money". To pay a bill, a "partner"
  needs to have a sufficient account of "virtual money".

- To fill the account of "virtual money", either real-world money
  payment can be used (exchange real to "virtual" money), or the
  "partner" can be active in some open-source environment (providing
  bug descriptions, goin' through test cases, reviewing documentation,
  that kind of stuff).

Though this sounds sane, I see a couple of problems with that approach:
- At first, it is a general matter of business models, and I wonder
  whether Oracle is up for such an approach (though it surely would be
  nice :) ).

- Then again, you immediately end up with a problem of
  making things "measurable" again. How much does it cost to fix an
  issue you reported, according to some official support billing
  conditions? How much "virtual money" are you capable of earning doing
  open source work? How much, in example, does "virtual money"
  represent in terms of value compared to, say, an hour of work you
  spent, billed and got paid for "in offline life"? If, by then, you
  end up with earning, say, 10 dukes for filing a qualified bug report
  and you know that, talking about mission critical support, fixing an
  issue costs (the virtual-money-equivalent-of-) 500 dukes, you have
  quite some way to go to get meaningful results out of that.

- If talking about being rewarded with a decent amount of "virtual
  money" for getting something done, it will either be not more than a
  "symbolic reward" again unless there will be significantly more
  strict conditions to be met (times for tests to be performed, quality
  and detail level of bug reports to be posted, ...). Would you be
  capable of, in example, postpone any other project work if FishCAT
  required you to rebuild GlassFish and perform some relevant test
  _immediately_ to get a meaningful reward in terms of "virtual money"?


I am not sure whether / how FishCAT in terms of Oracle organizational
structures is strong enough to, about that, establish a meaningful
environment for such a model, or whether it would be better to keep
things separated, to know the people involved with FishCAT are all kind
and friendly and doing the best they can to help you out in times of
need, knowing that in the end, given mission-critical requirements and
deadlines, it's all about a professional SLA and money? I am not sure
about that, honestly... Judy? ;)

Lest to say: By now better than before I understand your point, but I
thoroughly wonder whether there is a way of addressing this
meaningfully. Wouldn't be bad, though. ;)


> You have mention before about some successful open source
> projects including Tomcat. I used before Tomcat in my work and I know
> it's not really a good example of successful project. It took years
> for the project to catch up with some new technologies and in current
> situation this kind of application server is good fit only to use in
> school project.

Oh, no no no, SpringSource in example is pretty successful doing what
they do using tomcat, and they never really had a problem with "latest
technologies" - they always, in example, worked pretty well with the
latest and most "bleeding-edge" versions of Spring framework. Whether
or not this is your technological choice definitely is up to you. Many,
eventually way too many, environments successfully use tomcat in
productive setups, and they do that absolutely on intention,
re-iterating the fact that "Java EE is way too large and too bloated"
to be useful. I don't agree with that, but that doesn't change things.
Have a look at the Eclipse Developer Report

http://www.eclipse.org/org/press-release/20100604_survey2010.php

in example talking about...

- people generally using open-source platforms as deployment
  environment (including operating systems and database, not just
  talking about development environments),

- application server used in production environment (tomcat coming in
  first, with GlassFish left at painfully low 3.9% ... :/ ),

- open source maturity in general (which, asides that, is irritating to
  see the large amount of people "using open source" but not
  communicating back to the community in any way).

However, talking about tomcat along the lines of "school projects" is
definitely a dangerous thing to do. ;)





> For me, nowadays open source projects looks like primitives tribes
> comparing to civilization.Even for barter activities tribes have
> nothing to use. It's just shame ;)Of course I see weakness of open
> source projects from economics and politics points of view.

Well, okay, I accept your point of view on that, even though I can not
really share or agree with it. Some thoughts on that:

- Looking at companies like IBM or RedHat, I see commercial entities
  which are modestly to pretty successful and both are supporting and
  promoting (at least partly, talking about IBMs involvement into the
  Eclipse foundation or its GNU/Linux activities) open source
  technologies. They wouldn't do right this if open source was all poor
  and weak technology, would they? ;)

- Imagine you are trying to start a small company about to provide
  customers with service of doing custom application development and
  integration. What would you do? Would you ask them to go for, say, an
  Oracle WebLogic or an IBM WebSphere license first? Then, eventually,
  these customers immediately would go to IBM and Oracle and also get
  consulting and support there, and your company would be out of
  business. So, would you try implementing an application server first?
  This would keep you busy a couple of years in which you would have to
  find some solid fundings without having an actual way of revenue
  since, until your application server implementation is ready, you
  don't have anything to offer to your customers. Difficult, as well.
  What about, in example, adopting an open source framework based upon
  standards (say, an open source Java EE 5 or 6 certified application
  server), eventually supporting its original developers and offering
  business and consulting on top of this platform? This way, both would
  benefit - the application platform you chose would benefit from your
  willingness to support it, to provide input and eventually funding,
  your company would benefit from having a stable, reliable platform
  infrastructure, and your customers would benefit from having
  affordable consulting and services on top of a platform which, after
  all based upon standards, can easily "scale up" given the need. At
  least to me, this doesn't seem a business model too bad.

- If comparing open source to tribes: Yes, why not. Another comparison
  I tend to hear, once in a while, is the comparison of small, flexible
  boats outperforming the large, heavyweight tankers. Just take a look
  at the KDE desktop environment for Unix systems, especially at its
  very infrastructure: Technically, this is definitely the most
  innovative system out there to date. Despite some visual
  shortcomings, this is what neither Apple nor Microsoft so far managed
  to come up with. Microsoft could have if they eventually decided to
  drop all the borked infrastructure and compatibility crap and build a
  system all on top of .NET, but so far they didn't for whichever
  reasons. This, tribe or not, is where open source excels in my
  opinion: It's a way of unifying smart minds all across the world,
  which are capable implementing things _and_ want to do that in an
  environment not mainly driven by commercial and economic motivations
  (which, asides all the need there is, of course always will limit the
  technical quality of a solution as in the end it will be a
  feature-vs.-cost decision). Plus, in open source you have some setup
  way more prominent than in "proprietary" development: You have
  developers which are users of their software, too, so they know best
  what makes their stuff inefficient / hard to use. Throwing in users
  who are willing to provide input like this is a certain way to make
  things better.

- Finally: Look at an ant population. A tribe, which indeed is
  effective in what it does. :)


> is more stronger than yours.For example how you see that we can act
> as team if we have nothing to share. No common projects, no common
> infrastructure, no common points/dukes, no common goals.I don't see
> much point for people to join Fishcat.Why would they?

No common goals? _That_ is exactly what I mean in my discussion to talk
about a rewarding system! ;) If the _only_ common goal attracting
people here is the goal of getting reward, I honestly question whether
these are the users to have around. The _common goal_ should be pretty
clear initially: Make GlassFish better. To do so, FishCAT should
attract people who are willing to agree with this common goal.

Cheers & all the best,
Kristian


-- 
Dipl.-Ing.(BA) Kristian Rink * Software- und Systemingenieur 
planConnect GmbH * Könneritzstr. 33 * 01067 Dresden 
fon: 0351 215 203 71 * cell: 0176 2447 2771 * mail: rink_at_planconnect.de 
Amtsgericht Dresden HRB: 20 015 * St.-Nr. FA DD I 201 / 116 / 05360 
Geschäftsführer: Stefan Voß, Karl Stierstorfer