ANNOUNCE: Ice 2.0 released

Discussion in 'Python' started by Michi Henning, Nov 22, 2004.

  1. 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.

    --
    Michi Henning Ph: +61 4 1118-2700
    ZeroC, Inc. http://www.zeroc.com
     
    Michi Henning, Nov 22, 2004
    #1
    1. Advertising

  2. Michi Henning

    Tim Roberts Guest

    "Michi Henning" <> 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,
    Providenza & Boekelheide, Inc.
     
    Tim Roberts, Nov 24, 2004
    #2
    1. Advertising

  3. Michi Henning

    Marc Laukien Guest

    > 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
     
    Marc Laukien, Nov 24, 2004
    #3
  4. Michi Henning

    Ville Vainio Guest

    >>>>> "Marc" == Marc Laukien <> 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
     
    Ville Vainio, Nov 24, 2004
    #4
  5. Michi Henning

    Marc Laukien Guest

    Ville Vainio wrote:

    >>>>>>"Marc" == Marc Laukien <> 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 :)
     
    Marc Laukien, Nov 24, 2004
    #5
  6. Michi Henning

    Ville Vainio Guest

    >>>>> "Marc" == Marc Laukien <> 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
     
    Ville Vainio, Nov 24, 2004
    #6
  7. Marc Laukien <> wrote in message news:<>...
    > > 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.
     
    Anand Hariharan, Nov 30, 2004
    #7
  8. Michi Henning

    Marc Laukien Guest

    > 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
     
    Marc Laukien, Nov 30, 2004
    #8
  9. Marc Laukien <> wrote in message news:<>...
    > >

    (...)
    > > 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
     
    Anand Hariharan, Nov 30, 2004
    #9
  10. Michi Henning

    Marc Laukien Guest

    > 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
     
    Marc Laukien, Nov 30, 2004
    #10
  11. Michi Henning

    apm Guest

    Marc Laukien <> wrote in message news:<>...
    > 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
     
    apm, Nov 30, 2004
    #11
  12. > 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
     
    Diez B. Roggisch, Nov 30, 2004
    #12
  13. Michi Henning

    Marc Laukien Guest

    apm wrote:

    > Marc Laukien <> wrote in message news:<>...
    >
    >>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
     
    Marc Laukien, Nov 30, 2004
    #13
  14. Michi Henning

    Guest

    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?
     
    , Dec 8, 2004
    #14
  15. > 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.

    --
    Michi Henning Ph: +61 4 1118-2700
    ZeroC, Inc. http://www.zeroc.com
     
    Michi Henning, Dec 8, 2004
    #15
  16. Michi Henning

    Guest

    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.
     
    , Dec 9, 2004
    #16
  17. In article <IHLtd.64667$>,
    Michi Henning <> 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 --
    -- --
    -- http://www.grisby.org --
     
    Duncan Grisby, Dec 9, 2004
    #17
  18. On Thu, 9 Dec 2004, Duncan Grisby wrote:

    > In article <IHLtd.64667$>,
    > Michi Henning <> 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.

    --
    Michi Henning Ph: +61 4 1118-2700
    ZeroC, Inc. http://www.zeroc.com
     
    Michi Henning, Dec 9, 2004
    #18
  19. OT-Test

    Ver si aparece la frau
     
    frau_Gertrude, Dec 11, 2004
    #19
  20. OmniORB(py) compared to ICE? (was: ANNOUNCE: Ice 2.0 released)

    > "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.


    Did anyone (preferrably someone who's independent from the suppliers - no
    flamewars please) ever compare OmniORB and ICE, especially the Python
    interfaces of both, concerning:

    - functionality offered
    - development efficiency
    - performance & ressource requirements
    - stability, implementation quality etc.?

    TIA,

    Best regards,

    Wolfgang Keller
     
    Wolfgang Keller, Dec 15, 2004
    #20
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Olaf Kardennich

    ICE-Syndication

    Olaf Kardennich, Jul 8, 2003, in forum: XML
    Replies:
    0
    Views:
    985
    Olaf Kardennich
    Jul 8, 2003
  2. Skybuck Flying
    Replies:
    2
    Views:
    336
    Skybuck Flying
    Dec 4, 2006
  3. Steven T. Hatton

    ISO/ICE 23271:2005

    Steven T. Hatton, Jul 19, 2005, in forum: C++
    Replies:
    25
    Views:
    1,433
    E. Mark Ping
    Jul 30, 2005
  4. markritter150

    Vanilla Ice is back!

    markritter150, Jun 3, 2008, in forum: C Programming
    Replies:
    6
    Views:
    328
  5. markritter150

    Cool as Ice

    markritter150, Jun 12, 2008, in forum: C Programming
    Replies:
    0
    Views:
    318
    markritter150
    Jun 12, 2008
Loading...

Share This Page