Home of the Squeezebox™ & Transporter® network music players.
Page 3 of 3 FirstFirst 123
Results 21 to 28 of 28
  1. #21
    Senior Software Engineer - Logitech/Slim Devices
    Join Date
    Apr 2005
    Location
    Ipswich, UK
    Posts
    1,394
    Quote Originally Posted by peterw View Post
    ... as far as I understand it, the design of the Jive software itself make Jive platforms much less amenable to customization.
    Peter I don't understand what point you are making here? One of my objectives at the start of the project was to allow for community contributions to Jive. In what way is the design of the Jive software making it less amenable to customization?


    Quote Originally Posted by peterw View Post
    And I'm terribly concerned that the comments about discontinuing work on Softsqueeze hint at a future of fatter Jive clients that we neither can, nor are willfully allowed to, tweak.
    Well no one seems to have noticed much that Softsqueeze has had little developmental over the past couple of years. It used to be an excuse to due some coding outside of the day job for enjoyment. Stopping development was not planned, but after starting to work for SD/Logitech I have had little spare time to develop it.

    Softsqueeze is certainly not going away overnight, and the code is all available under the GPL so I would be happy for someone to step and and take over it's maintenance. You never know it might even turn into a good career move

    I think erland has made some good comments regarding the license, certainly the team here want to encourage community contributions. We could not have released the Jive application software and kept that closed.

    I also don't understand where you get the idea of fatter Jive clients from? Jive will always be leaner than Softsqueeze, it is after all intended for 200MHz ARM devices with 64MB of memory!

    Richard

  2. #22
    Quote Originally Posted by rtitmuss View Post
    I also don't understand where you get the idea of fatter Jive clients from? Jive will always be leaner than Softsqueeze, it is after all intended for 200MHz ARM devices with 64MB of memory!
    An SB3 is much like an old dumb VT100 terminal. All the intelligence is on the server side. With Jive, much of the intelligence is on the client side. The client is fatter.

    And the server side code is GPL, so I'm free to make changes to share with others, and I'm free to make changes on my own system that I don't share.

    And the server side Perl code is very hackable -- especially with APIs like addDispatch. I've seen conversations about things like trapping Jive events and wrapping/subclassing/etc., and the impression I get is that developers are free to add their own menu items within the Jive menu structure, but cannot override default behavior, and certainly not through published APIs. Combine the lack of published APIs with the unfriendly license and the clunky distribution model (the whole app is baked into a firmware binary object that includes a Linux distro), and tweaking a Jive client doesn't look very easy or fun.

    The Softsqueeze announcements suggest to me that the roadmap is to phase out truly thin clients like the SB3 and Tp in favor fatter, less open clients like the SBC. I hope that's not the case.

    Does that make a bit more sense?
    http://www.tux.org/~peterw/
    Note: The best way to reach me is email or PM, as I don't spend time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  3. #23
    Senior Software Engineer - Logitech/Slim Devices
    Join Date
    Apr 2005
    Location
    Ipswich, UK
    Posts
    1,394
    Quote Originally Posted by peterw View Post
    An SB3 is much like an old dumb VT100 terminal. All the intelligence is on the server side. With Jive, much of the intelligence is on the client side. The client is fatter.
    Ok I understand what you are saying. It is difficult to developer a graphically richer ui while still keep the client as thin as a SB3, so the Jive application is fatter than an SB3. It does still depend on SC, and much of the functionality is still provided by SC.

    Quote Originally Posted by peterw View Post
    And the server side Perl code is very hackable -- especially with APIs like addDispatch. I've seen conversations about things like trapping Jive events and wrapping/subclassing/etc., and the impression I get is that developers are free to add their own menu items within the Jive menu structure, but cannot override default behavior, and certainly not through published APIs.
    SqueezeCenter has the advantage here that it is a much more mature software project, and the APIs have been developed to do what you need. I am sure as we gain more understanding of what people what to do with the Jive platform the APIs will also develop to meet those needs.

    Quote Originally Posted by peterw View Post
    Combine the lack of published APIs ...
    Documentation and APIs for Jive are available. I'll admit they need more work, and at the moment is probably not too easy to find (it's checked in with the code). We are discussing moving all developer documentation for SC and Jive to the public wiki, this should make it more accessible and easier to maintain.

    Quote Originally Posted by peterw View Post
    ... the clunky distribution model (the whole app is baked into a firmware binary object that includes a Linux distro), and tweaking a Jive client doesn't look very easy or fun.
    Actually I would disagree here. Hacking Jive on the desktop is very easy. Also the 'clunky' distribution has been designed to allow people to safely and easily hack Jive on the device itself. You can use ssh and scp to edit files (vi is available, but you did mention easy and fun ) on the hardware, any changes are stored in an overlay file system. A factory reset will restore you to the official firmware, you'll really have to try hard to be able to brick the hardware. (No, that's not a challenge!)

    Quote Originally Posted by peterw View Post
    The Softsqueeze announcements suggest to me that the roadmap is to phase out truly thin clients like the SB3 and Tp in favor fatter, less open clients like the SBC. I hope that's not the case.
    No, this is more about my personal motivation. Working on a largely reversed engineered Java emulator of the Squeezebox does not give me the same satisfaction it did before working for Slim Devices.

    Richard

  4. #24
    OK, so I think I understand. I'm still a little confused by people who are apparently distributing patches to build the Jive SDK on Linux. Wouldn't such distribution violate the license? There's even more talk about porting Jive to the N800/N810 in another thread. Given the license issues, that would appear a little futile, unless someone at Logitech "recognizes the usefulness of such an application"...

    Anyway, one last question... Since the server software is still GPL (right?), the *protocol* that the Jive remote uses is completely out in the open, right? If I wanted, I should be able to build a native N800 client that would perform the same functions as the new remote, but without using *any* of the Jive code, right?

  5. #25
    Senior Member erland's Avatar
    Join Date
    Dec 2005
    Location
    Sweden
    Posts
    10,858
    Quote Originally Posted by doundounba View Post
    OK, so I think I understand. I'm still a little confused by people who are apparently distributing patches to build the Jive SDK on Linux. Wouldn't such distribution violate the license?
    In my opinion, if you read the license text strict it doesn't allow you to provide patches here on the forum. The reason is simple is that it would mean that you distribute your modifications which clearly isn't allowed in the license.

    However, I'm pretty sure Logitech won't see this as a violation, because the purpose of offering the code as Logitech Public Source IS that we should be able to provide patches for new functionality.

    In this specific case which you link to it won't allow Jive to be executed on any hardware platform that it isn't already available on. If you provided patches to make Jive run on an iPhone or a N800, the situation could be different since this could decrease Logitech hardware sells. But someone at Logitech will have to give you an answer on this.

    Quote Originally Posted by doundounba View Post
    There's even more talk about porting Jive to the N800/N810 in another thread. Given the license issues, that would appear a little futile, unless someone at Logitech "recognizes the usefulness of such an application"...
    Porting to N800 would be the same as porting to iPhone, this would IMO clearly violate the license as soon as you redistribute your changes without permission from Logitech.

    Quote Originally Posted by doundounba View Post
    Anyway, one last question... Since the server software is still GPL (right?), the *protocol* that the Jive remote uses is completely out in the open, right? If I wanted, I should be able to build a native N800 client that would perform the same functions as the new remote, but without using *any* of the Jive code, right?
    Good question, this is something I also would like an answer to.

    I'm pretty sure it would be allowed, because the Jive protocol is basically CLI over XML (JSON) and the CLI interface is definitely possible to use from a native client.

    I really hope the license could be rewritten to avoid all these questions, but until then my feeling is that the interpretation could be something like:
    "If you do something with the Jive source that probably would decrease Logitech hardware sells, don't do it without first checking with Logitech"
    Erland Isaksson (My homepage)
    (Developer of many plugins/applets (both free and commercial).
    If you like to encourage future presence on this forum and/or third party plugin/applet development, consider purchasing some plugins)

    Interested in the future of music streaming ? ickStream - A world of music at your fingertips.

  6. #26
    Founder, Slim Devices seanadams's Avatar
    Join Date
    Apr 2005
    Posts
    2,880
    erland,

    I think you have explained this well and are really getting at the crux of the problem, which is that it is very difficult to craft a concise license which allows people to do the kind of things we'd like them to be able to do with Jive, without enabling a competitor to just nab the whole thing. Specifically, I am having trouble with 1) the whole issue of patches and 2) making it clear that the LPSL does not apply to separate applets you develop yourself. The trouble with handing this all off to a lawyer is that all these subtleties are lost and the language ends up becoming either more confusing or excessively locked down.

    I am quite open to suggestions, even of specific language that addresses this. I will re-read the license and continue to think about this, as it's something we would really like to improve. Sorry there has not been any movement since the last time this came up. I do think it is possible to get it sewn up a little better, but it's trickier than it might seem at first glance.

    Sean

  7. #27
    Sean, I think my main concerns are twofold

    1) That Jive will be "fat" *and* not provide the APIs developers need to tweak it without modifying the actual Jive source. I've worked with closed-source proprietary software that's had good APIs for extending & modifying app behavior, and I'm comfortable with that model. I'd rather have Jive with good APIs and no source than inadequate APIs and source I cannot freely modify & share. When someone has a good idea, I want to be able to implement that and share it directly with other Squeezebox users, even if it means modifying Logitech source code (e.g., my latest plugin, SyncOptions, that works on 6.5 but requires patching source -- http://forums.slimdevices.com/showthread.php?t=41797).

    2) Section 6 sounds like all you'd need to do is ask me for my local, personal changes to Jive and I'd have to not only share the source code with you, but also give Logitech the rights to my work (not just copyright over the source code, but the Jive license appears to attempt to appropriate a perpetual license to all the associated IP, including giving Logitech the rights to resell (sublicense) my IP). I can't do anything solely for myself, and I can't do anything for myself without giving it to Logitech. That just really, REALLY rubs me the wrong way. Why do you feel the need for such a clause?

    I do understand that the license only applies to modifications of Jive itself, but please consider that A) I've been contributing to SlimServer and SqueezeCenter for years, gratis and B) my first concern -- in many cases looks it appears that modifying Jive behavior requires modifying Jive itself.

    My other concerns still stand, but those are my main concerns.

    -Peter
    http://www.tux.org/~peterw/
    Note: The best way to reach me is email or PM, as I don't spend time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  8. #28
    Senior Member pfarrell's Avatar
    Join Date
    Apr 2005
    Location
    Wayne, PA
    Posts
    4,251

    [SlimDevices: Jive] Jive license,what is allowed and what isn't ?

    seanadams wrote:
    > The trouble with handing this
    > all off to a lawyer is that all these subtleties are lost and the
    > language ends up becoming either more confusing or excessively locked
    > down.


    "The first thing we do, let's kill all the lawyers". - King Henry VI
    (Act IV, Scene II).

    The problem that Sean identifies is true even for great lawyers who are
    on your side.

    I really like erland's
    "If you do something with the Jive source that probably would decrease
    Logitech hardware sells, don't do it without first checking with
    Logitech"

    Sometimes just saying what you mean is good.


    --
    Pat Farrell
    http://www.pfarrell.com/


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •