How Sun makes money from Java since it develops it and gives to everybodyfor free?

W

www

Hi,

I guess here is not the right place to ask. But I don't know the right
place. Sorry.

I am a Java developer. I am just curious how this works out. Sun hires
people and write Java, the language. Since Sun releases it for free, how
Sun makes the benefits out of it?

Here is the analogy: Sun makes hammers and distribute hammers(the Java)
to anybody for free. Many carpenters(Java programmers or their
companies) use the hammers to make furnitures to sell. I know Sun uses
those hammers to make furnitures and sell them too. But other companies
at least do not need to make hammers, first. How this works?

Same question relates to Eclipse. I don't know who write it. But it
seems the organization is very well organized and committed, not
casually for fun. Since Eclipse is free, how those developers, managers
get back for their committed, hard-working?

Thank you.
 
S

Skip Hollowell

Ahh, the money isn't in the hammers. It's in the nails, wood, and the
toolboxes.

Sun sells servers. Bigger better java apps need, in theory, bigger
better (i.e. more expensive) servers. And with luck, you buy their
servers, because you know where your bread is butters (or your nail is
hammered, to continue the metaphor.)

Same with Eclipse. You may use Eclipse to develope, but you have to
deploy those apps somewhere, and IBM hopes it will be WebSphere, for the
heavy duty stuff. And the other contributors plan that a percentage of
eclipse users will ultimately use their {insert product here} for the
apps they develop in Eclipse

Skip Hollowell
 
W

www

Skip said:
Ahh, the money isn't in the hammers. It's in the nails, wood, and the
toolboxes.

Sun sells servers. Bigger better java apps need, in theory, bigger
better (i.e. more expensive) servers. And with luck, you buy their
servers, because you know where your bread is butters (or your nail is
hammered, to continue the metaphor.)

Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell. Another company can
have only 100 employees and all of them writing servers for sell, since
they can get Java from Sun. Does Sun keep some secrets so that they are
the only one which can develop servers?
 
W

www

Skip said:
Ahh, the money isn't in the hammers. It's in the nails, wood, and the
toolboxes.

Sun sells servers. Bigger better java apps need, in theory, bigger
better (i.e. more expensive) servers. And with luck, you buy their
servers, because you know where your bread is butters (or your nail is
hammered, to continue the metaphor.)

Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell. Another company can
have only 100 employees and all of them writing servers for sell, since
they can get Java from Sun. Does Sun keep some secrets so that they are
the only one which can develop servers?

By the way, since there are a lot of Java programmers and companies in
the world, if Sun all of sudden starts to charge, say $100, for each
download of Java JDK, we have to pay for it, since we have no choice.
Some people in Sun may become as rich as Bill Gates.
 
W

www

Skip said:
Ahh, the money isn't in the hammers. It's in the nails, wood, and the
toolboxes.

Sun sells servers. Bigger better java apps need, in theory, bigger
better (i.e. more expensive) servers. And with luck, you buy their
servers, because you know where your bread is butters (or your nail is
hammered, to continue the metaphor.)

Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell. Another company can
have only 100 employees and all of them writing servers for sell, since
they can get Java from Sun. Does Sun keep some secrets so that they are
the only one which can develop servers?

Also it seems it is a very indirect way to make money. For example, our
company develops program in Java. But we didn't by anything from Sun. I
am wondering what is the percentage of companies buying servers or other
stuff from Sun, because they are using Sun's Java.

By the way, since there are a lot of Java programmers and companies in
the world, if Sun all of sudden starts to charge, say $100, for each
download of Java JDK, we have to pay for it, since we have no choice.
Some people in Sun may become as rich as Bill Gates.
 
C

Christian

www said:
By the way, since there are a lot of Java programmers and companies in
the world, if Sun all of sudden starts to charge, say $100, for each
download of Java JDK, we have to pay for it, since we have no choice.
Some people in Sun may become as rich as Bill Gates.

no you don't have.. java is open source so you can build your own
jdk/jvm ... also there are jvms from other companys like IBM.



Also I would say for companys like IBM their investment in eclipse is ..
I'd call minor .. 100 java developers paid by a company as large as IBM
... its no big deal for them ... a few Million Dollars per year..

But imagine how many people can develop good Desktop apps because of
eclipse - rcp in java?

It seems to be a strategical investment for them to lower the market
share of .NET .
If people are less bound to one OS its good for several
hardware/software companies.


Christian
 
R

RedGrittyBrick

www said:
Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell. Another company can
have only 100 employees and all of them writing servers for sell, since
they can get Java from Sun. Does Sun keep some secrets so that they are
the only one which can develop servers?

I was under the impression that Sun were fairly open about what goes
into Java ...
<http://en.wikipedia.org/wiki/Java_Community_Process>
Also it seems it is a very indirect way to make money. For example, our
company develops program in Java. But we didn't by anything from Sun. I
am wondering what is the percentage of companies buying servers or other
stuff from Sun, because they are using Sun's Java.

Maybe you would enjoy reading this:
By the way, since there are a lot of Java programmers and companies in
the world, if Sun all of sudden starts to charge, say $100, for each
download of Java JDK, we have to pay for it, since we have no choice.

We do have choice,
<http://jikes.sourceforge.net/>
<http://gcc.gnu.org/java/>
From a recent thread in comp.lang.java.*, I believe Eclipse uses it's
own compiler, not the JDK.
 
S

Skip Hollowell

RedGrittyBrick said:
From a recent thread in comp.lang.java.*, I believe Eclipse uses it's
own compiler, not the JDK.

If I am not mistaken, and I would bet a shiny penny that I am not,
Eclipse uses whatever JVM is default on your machine. You can setup
others once Eclipse is running, though.
 
R

RedGrittyBrick

This is the thread I was referring to
http://groups.google.com/group/comp.lang.java.programmer/msg/ec51ab7af3b2f57d

If I am not mistaken, and I would bet a shiny penny that I am not,
Eclipse uses whatever JVM is default on your machine. You can setup
others once Eclipse is running, though.

I said "compiler". You are talking about the runtime environment. These
are not the same thing! A JVM is not used to compile Java source to
bytecode.

http://en.wikipedia.org/wiki/Eclipse_(software)
"the Java ... compiler (ECJ) that comes as part of Eclipse"

http://www.eclipse.org/jdt/core/index.php
"JDT Core is the Java infrastructure of the Java IDE. It includes:
An incremental Java compiler. Implemented as an Eclipse builder, it is
based on technology evolved from VisualAge for Java compiler. In
particular, it allows to run and debug code which still contains
unresolved errors."
 
S

Skip Hollowell

Good to know.
This is the thread I was referring to
http://groups.google.com/group/comp.lang.java.programmer/msg/ec51ab7af3b2f57d




I said "compiler". You are talking about the runtime environment. These
are not the same thing! A JVM is not used to compile Java source to
bytecode.

http://en.wikipedia.org/wiki/Eclipse_(software)
"the Java ... compiler (ECJ) that comes as part of Eclipse"

http://www.eclipse.org/jdt/core/index.php
"JDT Core is the Java infrastructure of the Java IDE. It includes:
An incremental Java compiler. Implemented as an Eclipse builder, it is
based on technology evolved from VisualAge for Java compiler. In
particular, it allows to run and debug code which still contains
unresolved errors."
 
O

Oliver Wong

RedGrittyBrick said:
This is the thread I was referring to
http://groups.google.com/group/comp.lang.java.programmer/msg/ec51ab7af3b2f57d



I said "compiler". You are talking about the runtime environment. These
are not the same thing! A JVM is not used to compile Java source to
bytecode.

Eclipse definitely uses a different compiler than the one shipped in
Sun's JDK: the two compilers exhibit a different set of bugs. I've posted
a few threads here where I'm asking for help for a bug I'm stumped with,
and after a couple of people tell me they can't reproduce the problem, we
eventually tracked it down to Eclipse's compiler generating slightly
different bytecode than Sun's compiler.

- Oliver
 
J

John W. Kennedy

Christian said:
It seems to be a strategical investment for them to lower the market
share of .NET .

Historically, it's the other way around: .NET was designed as a Java killer.
 
L

Lew

...
Oliver said:
Eclipse definitely uses a different compiler than the one shipped in
Sun's JDK: the two compilers exhibit a different set of bugs. I've posted
a few threads here where I'm asking for help for a bug I'm stumped with,
and after a couple of people tell me they can't reproduce the problem, we
eventually tracked it down to Eclipse's compiler generating slightly
different bytecode than Sun's compiler.

And delivers different compiler warnings and errors.

-- Lew
 
J

John T

Lew said:
...






And delivers different compiler warnings and errors.

-- Lew
I understand what you are saying. However, if Eclipse uses its own
compiler, which obviously it does, how can we be guaranteed that if a
program is written for JDK1.6 and Eclipse compiles it sucessfully that
it would run from the command line just using the proper CLASSPATH
variable with a java my_program command?
 
C

Chris Uppal

John said:
[...] if Eclipse uses its own
compiler, which obviously it does, how can we be guaranteed that if a
program is written for JDK1.6 and Eclipse compiles it sucessfully that
it would run from the command line just using the proper CLASSPATH
variable with a java my_program command?

There is always a possibility of bugs, of course, but the chance of that
causing serious problems should be fairly slim. There are several reasons...

One is that what we call the Java "compiler" is actually a /translator/ -- it
converts from one high-level, OO, language (called "Java") to another, very
similar, high-level, OO, language (called "JVM bytecode"). Those two languages
are both pretty well specified, and the mapping between them is also fairly
well tied down by the specs, so there isn't that much room for interpretation.
And, since they are so /very/ similar, there isn't a lot of room for error
either. (BTW, when I say, "very similar" I mean more similar than C and Pascal
are to each other, for instance). The Java spec has become pretty complicated
over the years, but most of the bugs in javac or Eclipse seem to be (and have
been) in the type-checking parts (which are the most complicated), and errors
there don't usually have any effect at runtime. That's to say: the JDK
compiler and the Eclipse compiler might disagree on whether some code was legal
at all, but if they both were willing to compile it then they would probably
produce equivalent results.

Secondly, the Eclipse people have quite a lot of time to study upcoming Sun
releases and (presumably) plenty of opportunity to talk to the people at Sum.
And vice versa. So there should be a fair degree of agreement between the two
teams -- remember, they are not in competition with each other.

Lastly, since Eclipse uses Sun's (or whoever's) JVM as the runtime for the code
you create and test, it doesn't really matter very much if they differ. You
will, presumably, test your code on the kind(s) of JVM that your users will
have, or onto which you will deploy your webservers. So, provided the tests
work, you have a reasonable assurance of safety. Of course, if you expect to
be shipping your code to run on a variety of different JVMs then you should
expand your testing program -- but there's nothing new about that... You
aren't going to be shipping Java source to your customers (usually) so it
doesn't matter whether the bytecode you ship depends in some obscure way on the
compiler you use to generate it -- what matters is whether that bytecode will
run the same on the customers' JVMs as it does in your testing environment.

-- chris
 
C

Chris Smith

www said:
Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell.

By servers, Skip means hardware. It's more like building servers.
Another company can
have only 100 employees and all of them writing servers for sell, since
they can get Java from Sun.

Sun sells servers that are generally used to run the Solaris or Linux
operating systems, not Windows. The idea is that if they can make it
easy to develop applications that run portably on all kinds of servers,
then there will be more chance that people will buy their servers. If
server programmers have to choose an operating system to target, many of
them will choose Windows and Sun will be excluded from the market. If
they write portable applications, then Sun can compete on a fair playing
field with other server manufacturers on the basis of customer service,
performance, etc. Obviously, they believe they can do okay on such a
playing field.

The other part of it is that Sun makes a fair bit of money licensing
Java-related software to other vendors. Although they give away the
JRE, they charge BEA and IBM plenty of money to license their base J2EE
platform. In turn, BEA and IBM can sell their augmented J2EE
implementations. Many companies will buy J2EE implementations from BEA
or IBM because they get a high level of customer support, training, etc.
WebLogic can cost tens of thousands of dollars for a minimal
installation, and up to millions for something more complex! Some of
each of those purchases is funneled back to Sun.


You also asked about Eclipse. Eclipse is a more traditional open source
project, so some of its code is just written because people want to,
much like Linux or XFree86. The biggest company behind Eclipse, though,
is IBM, and they also make plenty of money off of it. By making Eclipse
open source, people will go in an do whatever they can to make sure that
it's a relly great basic Java IDE. IBM then sells a commercial version
that adds integration with WebSphere and other advanced features. When
a feature starts to become commoditized because a number of vendors have
it, IBM can donate it to the core Eclipse platform, and they no longer
have to do all the work to maintain it. They can spend more of their
development effort developing new features that distinguish their
product from commercial competitors, rather than playing catch-up by
fixing editor bugs.

(That overstates the case a bit; IBM does spend a LOT of effort
maintaining Eclipse; but they save something versus trying to maintain,
or even do QA for, the whole thing themselves.)
 
T

trstag75

Hi,

I guess here is not the right place to ask. But I don't know the right
place. Sorry.

I am a Java developer. I am just curious how this works out. Sun hires
people and write Java, the language. Since Sun releases it for free, how
Sun makes the benefits out of it?

Sun sells hardware, for one. Then, by making Java free (and now
open source), Sun managed to spread Java in a few years to about
every single industry. The companies using Java now aren't
dependent on a single software vendor anymore. Thus, by making
Java free, Sun is really harming a competitor here. They did the
same with OpenOffice.org, which started as a commercial software
and which is now LGPL (yup, LGPL, not GPL). OpenOffice.org is
spreading like fire in Europe: in companies, administration, for
personnal use, etc. This is also harming in a big way a competitor.
A competitor that otherwise could maybe have been able to spread
its monopoly (illegally, but that is another topic) to the server
market.

Sun makes money on the hardware, so they don't mind to make
software a commodity when they can now. Just like with Solaris,
that is getting more and more open.

Besides that, Sun is making money on all the "smart Java cards"
and on the J2ME VM.

There are countries now where each and every citizen is carrying
a Java smart card as an identity piece, enough said...

If I'm not mistaken there are 3 main J2ME VM makers and Sun is
one of them. The amount of cellphones running Java in the
world *dwarfes* the number of desktop/servers running Java.
J2ME VMs used to be expensive and only recently did one company
make its J2ME VM implementation open.

Adoption of Java in various environment, most notably cellphones
and JavaCard also drives the need for Sun servers.

There's a saying at Sun that: "adoption of the Java platform
is a leading indicator of Sun's business"

http://blogs.sun.com/jonathan/entry/the_dot_in_2_0
 
D

David Orriss Jr

Lew said:
So if Java slows down we should sell our Sun stock?

-- Lew

You actually own stock in Sun?

--
"My first thought was, he lied in every word,
That hoary cripple, with malicious eye
Askance to watch the working of his lie"

- Browning
(remove 'invalid domain' to reply)

Killing all posts from Google Groups
The Usenet Improvement Project: http://blinkynet.net/comp/uip5.html
 
K

Karl Uppiano

www said:
Not fully follow you. Suppose Sun has 200 employees: 100 writing Java to
distribute for free, 100 writing servers to sell. Another company can have
only 100 employees and all of them writing servers for sell, since they
can get Java from Sun. Does Sun keep some secrets so that they are the
only one which can develop servers?

I'm not sure what the ratio is, but I don't think it is that clear cut. The
JEE servers require Java to run, so Sun develops that. They give it away so
that developers will be familiar with the environment. Those developers will
be more successful using JEE, and there will be some vendor "lock-in" as a
result (not entirely, because you can get JEE servers from BEA, IBM, Oracle,
Sun... but this gives Sun a nice airy, warm fuzzy feeling). Just having its
name attached to a very popular programming language can't hurt either.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top