ANNOUNCE: Ice 2.0 released  
Author Message
Michi Henning





PostPosted: 2004-11-23 5:54:00 Top

java-programmer, ANNOUNCE: Ice 2.0 released Hi,

we've just released Ice 2.0 with quite a lot of new features:

- new language mappings for Visual Basic and Python

- a new light-weight and super-efficient firewall

- a streaming API that allows you to control the encoding and decoding of
objects in arbitrary formats (or the native Ice format)

- dynamic invocation and dispatch interfaces, so you can write generic
clients and server that do not require compile-time type knowledge

- new chapters in the documentation for the new features

- numerous other improvements and bug fixes

See http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=987
for more info.

Cheers,

Michi.

 
Tim Roberts





PostPosted: 2004-11-24 15:20:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released "Michi Henning" <email***@***.com> wrote:
>
>Hi,
>
>we've just released Ice 2.0 with quite a lot of new features:

I'm sure this is a wonderful thing, but your announcement gives absolutely
no clue as to what Ice is or what it is used for.

Please include an executive summary when you make an announcement like
this.

>- new language mappings for Visual Basic and Python
>
>- a new light-weight and super-efficient firewall
>
>- a streaming API that allows you to control the encoding and decoding of
> objects in arbitrary formats (or the native Ice format)
>
>- dynamic invocation and dispatch interfaces, so you can write generic
> clients and server that do not require compile-time type knowledge
>
>- new chapters in the documentation for the new features
>
>- numerous other improvements and bug fixes
>
>See http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=987
>for more info.
--
- Tim Roberts, email***@***.com
Providenza & Boekelheide, Inc.
 
Marc Laukien





PostPosted: 2004-11-24 21:07:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released > I'm sure this is a wonderful thing, but your announcement gives absolutely
> no clue as to what Ice is or what it is used for.
>
> Please include an executive summary when you make an announcement like
> this.

Sorry for the omission. Please see the summary below:

"The Internet Communications Engine (Ice) is a modern alternative to
object middleware such as CORBA?or COM/DCOM/COM+. Ice is easy to learn,
yet provides a powerful network infrastructure for demanding technical
applications. Ice shines where technologies such as SOAP or XML-RPC are
too slow, or do not provide sufficient scalability or security.

Ice is free software, available with full source, and released under the
terms of the GNU General Public License (GPL). Commercial licenses are
available for customers who wish to use Ice for closed-source software."

For more information, check out this paper:

http://www.zeroc.com/ieeeArticle.html

Cheers,
Marc
 
 
Ville Vainio





PostPosted: 2004-11-24 21:42:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released >>>>> "Marc" == Marc Laukien <email***@***.com> writes:

Marc> Ice is free software, available with full source, and
Marc> released under the terms of the GNU General Public License
Marc> (GPL). Commercial licenses are available for customers who
Marc> wish to use Ice for closed-source software."

So, unlike with currently available Python CORBA implementations (and
implementations for other languages as well), you can't use ICE in a
closed source system without paying a fee. Just wanted to point this
out so that nobody got the wrong idea. This *is* a big deal with
middleware / library that would quite probably be adopted in
commercial systems where the managers will feel uneasy about giving up
the control of their "precious" source.

Too bad, I actually got mildly exited when I read about ICE in the
referenced website.

--
Ville Vainio http://tinyurl.com/2prnb
 
 
Marc Laukien





PostPosted: 2004-11-24 22:00:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Ville Vainio wrote:

>>>>>>"Marc" == Marc Laukien <email***@***.com> writes:
>
>
> Marc> Ice is free software, available with full source, and
> Marc> released under the terms of the GNU General Public License
> Marc> (GPL). Commercial licenses are available for customers who
> Marc> wish to use Ice for closed-source software."
>
> So, unlike with currently available Python CORBA implementations (and
> implementations for other languages as well), you can't use ICE in a
> closed source system without paying a fee. Just wanted to point this
> out so that nobody got the wrong idea. This *is* a big deal with
> middleware / library that would quite probably be adopted in
> commercial systems where the managers will feel uneasy about giving up
> the control of their "precious" source.

That is correct. I thought what I wrote about licensing above was
already clear enough, but if you have the need to clarify it even
further, that's of course fine :)
 
 
Ville Vainio





PostPosted: 2004-11-25 2:03:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released >>>>> "Marc" == Marc Laukien <email***@***.com> writes:

Marc> That is correct. I thought what I wrote about licensing
Marc> above was already clear enough, but if you have the need to
Marc> clarify it even further, that's of course fine :)

It was more about emphasizing the fact than clarifying it - an
untrained eye might skim the post and miss the detail. I've seen all
too many complaints about people who are surprized about the issues
with GPL'd libraries (as opposed to GPL'd programs).

A part of it might have been about just venting my disappointment,
because, well, the project seemed interesting :-).

--
Ville Vainio http://tinyurl.com/2prnb
 
 
mailto.anand.hariharan





PostPosted: 2004-11-30 22:34:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Marc Laukien <email***@***.com> wrote in message news:<email***@***.com>...
> > I'm sure this is a wonderful thing, but your announcement gives absolutely
> > no clue as to what Ice is or what it is used for.
> >
> > Please include an executive summary when you make an announcement like
> > this.
>
> Sorry for the omission. Please see the summary below:
>
(...)
>
> Ice is free software, available with full source, and released under the
> terms of the GNU General Public License (GPL). Commercial licenses are
> available for customers who wish to use Ice for closed-source software."
>

Interesting to see this blend of GPL and an alternative for
closed-source software.

Not totally unrelated, I saw this in your web-site (Ice vs CORBA
page):
<QUOTE>
No "Design by Committee"
Ice was designed by a small group of dedicated and highly experienced
people.
</QUOTE>

Am interested to know, what "percentage" (*) of the code in your CVS
repository has been contributed by people other than the group
mentioned in the quote above? Obviously, you do not allow anonymous
CVS write access. Perhaps, one wishing to improve Ice (a freedom
granted by GPL) and who does not work for ZeroC has to mail his/her
improvements to your maintainers?

(*): Percentage is a very nebulous term, I know. For purposes of
answering the question, maybe you could resort to the
not-highly-meaningful number of LOC, and perhaps a word or two about
how Ice benefited from it.

- Anand

PS: Please feel free to set FU-Ts as appropriate.
 
 
Marc Laukien





PostPosted: 2004-11-30 23:46:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released > Interesting to see this blend of GPL and an alternative for
> closed-source software.
>
> Not totally unrelated, I saw this in your web-site (Ice vs CORBA
> page):
> <QUOTE>
> No "Design by Committee"
> Ice was designed by a small group of dedicated and highly experienced
> people.
> </QUOTE>
>
> Am interested to know, what "percentage" (*) of the code in your CVS
> repository has been contributed by people other than the group
> mentioned in the quote above? Obviously, you do not allow anonymous
> CVS write access. Perhaps, one wishing to improve Ice (a freedom
> granted by GPL) and who does not work for ZeroC has to mail his/her
> improvements to your maintainers?
>
> (*): Percentage is a very nebulous term, I know. For purposes of
> answering the question, maybe you could resort to the
> not-highly-meaningful number of LOC, and perhaps a word or two about
> how Ice benefited from it.

100% of the Ice source code has been developed by ZeroC employees.

Note that this does of course not apply for third-party code that is
being used by Ice, such as BZIP2, Berkeley DB, OpenSSL, etc.

>
> - Anand
>
> PS: Please feel free to set FU-Ts as appropriate.

What are FU-Ts?

-- Marc
 
 
mailto.anand.hariharan





PostPosted: 2004-12-1 3:23:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Marc Laukien <email***@***.com> wrote in message news:<email***@***.com>...
> >
(...)
> > Am interested to know, what "percentage" (*) of the code in your CVS
> > repository has been contributed by people other than the group
> > mentioned in the quote above? Obviously, you do not allow anonymous
> > CVS write access. Perhaps, one wishing to improve Ice (a freedom
> > granted by GPL) and who does not work for ZeroC has to mail his/her
> > improvements to your maintainers?
> >
(...)
>
> 100% of the Ice source code has been developed by ZeroC employees.
>
> Note that this does of course not apply for third-party code that is
> being used by Ice, such as BZIP2, Berkeley DB, OpenSSL, etc.
>

Consider the *hypothetical* situation where an individual or a group
of people re-write large portions of Ice. This could enhance the
value of Ice (obviously to some, if not all), or this could conflict
with the ideologies of Ice (again, not in everyone's point of view).
How will ZeroC react to this?

I believe whichever road you take, ZeroC is going to find itself in
problems. If ZeroC merges the changes made by this/these person(s),
how can ZeroC now sell it under a commercial license, as closed source
(violation of GPL)? If you refuse to merge the changes, you have just
given them a strong impetus to fork. History shows XEmacs and EGCS as
two such examples.

Guess what I am primarily interested in finding out is rooted in what
I said earlier:

> > Interesting to see this blend of GPL and an alternative for
> > closed-source software.

What were the ideas behind going the GPL way? How did ZeroC plan on
benefiting from it? Were there any qualms within ZeroC in going GPL?

Note that I am not saying GPL and commercial software don't go
together (I do believe though that LGPL and commercial software don't
go together). I am well aware of Free software being "Free speech,
not free beer".

What if you did not provide Ice as a free download, but a price based
on your current licensing policy(*). However, the download would give
one the complete source, and the freedom to modify and redistribute it
(at whatever price so long as the complete source code with the GPL
notice is released).
(*): All of this is hypothetical. Am not making a business
proposition here.

You do not, because that would discourage Ice from becoming
ubiquitous, from paving way for becoming a potential de-facto
standard.

Then, why not simply advertise Ice as being commercial (with unlimited
free trial plus source code)? Doing so, would get you the extensive
peer review that you are currently benefitting from. What do you gain
by going GPL? The freedom to modify and/or redistribute is
(apparently) pretty restricted anyway.

> > PS: Please feel free to set FU-Ts as appropriate.
>
> What are FU-Ts?
>

"Follow-up To:". Most news clients will allow sending a post to
multiple groups, restricting any possible responses to certain groups
alone. A poster who is replying can over-ride it, of course.

sincerely,
- Anand
 
 
Marc Laukien





PostPosted: 2004-12-1 4:45:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released > Consider the *hypothetical* situation where an individual or a group
> of people re-write large portions of Ice. This could enhance the
> value of Ice (obviously to some, if not all), or this could conflict
> with the ideologies of Ice (again, not in everyone's point of view).
> How will ZeroC react to this?

Everybody can enhance or modify Ice, we don't have any problems with
this whatsoever. The GPL explicitly allows you to do so. However, this
does not mean that we have to take over these changes or additions into
our Ice distribution. In many cases, this would also not be necessary,
as the most likely contribution would be in form of plug-ins or services.

As an aside, you are completely free to use any license, if you write
your own implementation of the Ice protocol or specification language.
Neither the protocol nor the specification language are patented. So
while our own implementation is available under GPL or a commercial
license only, you could write a new implementation under a license of
your choosing. We don't have any problems with this either. In fact, we
encourage it, otherwise we wouldn't have documented our protocol so
carefully.

>
> I believe whichever road you take, ZeroC is going to find itself in
> problems. If ZeroC merges the changes made by this/these person(s),
> how can ZeroC now sell it under a commercial license, as closed source
> (violation of GPL)? If you refuse to merge the changes, you have just
> given them a strong impetus to fork. History shows XEmacs and EGCS as
> two such examples.

I don't see any problems. If we merge a contribution into our Ice
distribution, then we need to reach an agreement with the contributor as
to how we can handle non-GPL licenses. If no agreement is reached, then
we cannot merge this contribution into our Ice distribution.

>
> Guess what I am primarily interested in finding out is rooted in what
> I said earlier:
>
>
>>>Interesting to see this blend of GPL and an alternative for
>>>closed-source software.
>
>
> What were the ideas behind going the GPL way? How did ZeroC plan on
> benefiting from it? Were there any qualms within ZeroC in going GPL?

The idea is simple: Ice should be free for open-source applications, but
if somebody wants to use Ice for a closed-source application, then we
want a fair share of the revenue. So far this works quite well :)

No, there were no qualms within ZeroC with using the GPL, we all pretty
much agreed from the start that this is a reasonable licensing model.

Note that we are not the only one who use such a dual-licensing scheme.
For example, if you want to use Berkeley DB (an excellent embedded
database) for a closed-source project, then you also have to buy a
commercial license. (They don't use GPL as their open-source license,
but something that is similar to the GPL.)

>
> Note that I am not saying GPL and commercial software don't go
> together (I do believe though that LGPL and commercial software don't
> go together). I am well aware of Free software being "Free speech,
> not free beer".
>
> What if you did not provide Ice as a free download, but a price based
> on your current licensing policy(*). However, the download would give
> one the complete source, and the freedom to modify and redistribute it
> (at whatever price so long as the complete source code with the GPL
> notice is released).
> (*): All of this is hypothetical. Am not making a business
> proposition here.

I'm not sure I understand what you are suggesting. You want us to charge
for a GPL download? I don't think this makes sense, a GPL download
should be free.

>
> You do not, because that would discourage Ice from becoming
> ubiquitous, from paving way for becoming a potential de-facto
> standard.
>
> Then, why not simply advertise Ice as being commercial (with unlimited
> free trial plus source code)? Doing so, would get you the extensive
> peer review that you are currently benefitting from. What do you gain
> by going GPL? The freedom to modify and/or redistribute is
> (apparently) pretty restricted anyway.

We are quite happy with our licensing model, and many of our users use
Ice under GPL. I neither see the need to restrict nor to loosen our
licensing terms in any way.

>
>
>>>PS: Please feel free to set FU-Ts as appropriate.
>>
>>What are FU-Ts?
>>
>
>
> "Follow-up To:". Most news clients will allow sending a post to
> multiple groups, restricting any possible responses to certain groups
> alone. A poster who is replying can over-ride it, of course.

Thanks for the explanation. I learn something new every day :)

-- Marc
 
 
Diez B. Roggisch





PostPosted: 2004-12-1 6:38:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released > I believe whichever road you take, ZeroC is going to find itself in
> problems. If ZeroC merges the changes made by this/these person(s),
> how can ZeroC now sell it under a commercial license, as closed source
> (violation of GPL)? If you refuse to merge the changes, you have just
> given them a strong impetus to fork. History shows XEmacs and EGCS as
> two such examples.

AFAIK qt is licensed the same way. And there is nothing bad about forks -
but they have to be GPLed too.

Maybe you're not aware of an implication of GPL: A product _using_ a GPL'd
library also has to be GPL. That means you can't develop a commercially
marketed product on top of a GPL library - AFAIK the exact reason why the
LGPL was created, so that you may not alter the lib itself and sell it,
but at least sell software that _uses_ the lib.

So all in all, it seems the GPL/Commercial license makes sense - it does for
trolltech :) And there is nothing in GPL that forces you to integrate code
you've been offered - otherwise, killing a GPL lib would mean to delete all
from a CVS checkout and submit a patch from that - obviouly nobody would
enforce that.

--
Regards,

Diez B. Roggisch
 
 
apm35





PostPosted: 2004-12-1 6:38:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Marc Laukien <email***@***.com> wrote in message news:<email***@***.com>...
> 100% of the Ice source code has been developed by ZeroC employees.

Fixes, bug reports, and enhancement requests have come in from Open
Source developers around the world, as can be seen from the forums on
the ZeroC web site.

Regards,

Andrew Marlow
 
 
Marc Laukien





PostPosted: 2004-12-1 7:12:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released apm wrote:

> Marc Laukien <email***@***.com> wrote in message news:<email***@***.com>...
>
>>100% of the Ice source code has been developed by ZeroC employees.
>
>
> Fixes, bug reports, and enhancement requests have come in from Open
> Source developers around the world, as can be seen from the forums on
> the ZeroC web site.

This is of course correct, but I do not think this is in contradiction
to what I stated. The submission of a bug report or an enhancement
request does not constitute development of source code. Neither does the
submittal of a bug fix, if there is only one way to fix a bug.

-- Marc
 
 
johng2001





PostPosted: 2004-12-9 5:51:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Does the Ice team claim any advantages to their Python bindings to
CORBA over omniORBpy (The one I am currently using). Please note that I
am not comparing ICE Vs CORBA. That has been well addressed at ZeroC
and this newgroup. My CORBA use right now is light weight (I don't use
any services). But I was wondering if there are any dynamic language
oriented improvements in ICE bindings?

 
 
Michi Henning





PostPosted: 2004-12-9 7:00:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released > Does the Ice team claim any advantages to their Python bindings to
> CORBA over omniORBpy (The one I am currently using). [...]
> But I was wondering if there are any dynamic language
> oriented improvements in ICE bindings?

The Ice Python mapping is simpler than the CORBA one because Ice has
a simpler object model with fewer data types. So, Ice avoids the
complexities caused by things such as type Any, TypeCodes, value types,
bounded sequences, arrays, unions, the fixed type, unsigned versus
signed types, and wide versus narrow characters and strings. Other than
that, the Ice Python mapping is quite similar to the CORBA one, mainly
because, for most language mapping issues, the design problems and (sensible)
solutions are the same.

As far as dynamic improvements are concerned, Ice for Python is a bit more
flexible than omniORBpy. As with omniORBpy, you can put interface definitions
through a compiler to generate stubs and skeletons but, in addition, you can
also use Ice for Python without precompiling the interface definitions and,
instead, load them at run time. As an example, assume you have a
definition as follows:

module M {
enum Color { red, green, blue };
};

Instead of compiling the definition, you can write:

Ice.loadSlice("Color.ice")
import M

print "My favourite color is ", M.Color.blue

Which approach (precompiled or dynamically loaded) you use depends
on the specifics of your application. Dynamically loaded definitions
are useful especially for things such as test harnesses and short throw-away
programs, because not having to compile the definitions first reduces
complexity
and makes the application more compact (because it doesn't depend on a bunch
of additional files that would be created by pre-compiling the definitions).
Of course, the price you pay is a (small) delay during start-up because the
code is generated at run time rather than compile time.

Cheers,

Michi.

 
 
johng2001





PostPosted: 2004-12-9 8:17:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released Thanks! Sounds interesting.

> As far as dynamic improvements are concerned, Ice for Python is a bit
more
> flexible than omniORBpy. As with omniORBpy, you can put interface
definitions
> through a compiler to generate stubs and skeletons but, in addition,
you can
> also use Ice for Python without precompiling the interface
definitions and,
> instead, load them at run time. As an example, assume you have a
> definition as follows:

You are describing Dynamic Invocation Interface of CORBA which
omniORBPy does support. I use it for the exact same reasons you mention.

 
 
Duncan Grisby





PostPosted: 2004-12-9 18:21:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released In article <IHLtd.64667$email***@***.com>,
Michi Henning <email***@***.com> wrote:

[...]
>Instead of compiling the definition, you can write:
>
> Ice.loadSlice("Color.ice")
> import M
>
> print "My favourite color is ", M.Color.blue

Just like this then?

omniORB.importIDL("Color.idl")
import M

print "My favourite color is ", M.blue

Cheers,

Duncan.

--
-- Duncan Grisby --
-- email***@***.com --
-- http://www.grisby.org --
 
 
Michi Henning





PostPosted: 2004-12-10 7:04:00 Top

java-programmer >> ANNOUNCE: Ice 2.0 released On Thu, 9 Dec 2004, Duncan Grisby wrote:

> In article <IHLtd.64667$email***@***.com>,
> Michi Henning <email***@***.com> wrote:
>
> [...]
> >Instead of compiling the definition, you can write:
> >
> > Ice.loadSlice("Color.ice")
> > import M
> >
> > print "My favourite color is ", M.Color.blue
>
> Just like this then?
>
> omniORB.importIDL("Color.idl")
> import M
>
> print "My favourite color is ", M.blue


Oops, my apologies! I wasn't aware that omniORBpy does this
as well.

Cheers,

Michi.