Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

New Cye Support for Linux! 38

Brian Chemel wrote in to let us know that all the Cye Robot Map-n-Zap software, the interface, everything, is now being released under the GPL. This is fantastic news for anyone interested in robotics and Linux. Update: 01/24 05:30 by E : Hey, there's cool Java Open Source Cye stuff available at Rock on, guys.
This discussion has been archived. No new comments can be posted.

New Cye Support for Linux!

Comments Filter:
  • i wonder if i can modify the source to work on my sister as well?
    binxdsign []
  • Could someone mirror this site and change the font tags from FONT=3 UNITS=ANGSTROMS? Otherwise, can we get a summary of who or what CYE is and what this announcement means?
    This comment powered by Mozilla!
  • One problem, if they fire half their developers they will have half of one person left.

  • CYE is esentially a computer controlled cart. All the computations occur on your computer. This is communicated to the cart via wireless link.

    This means that if you only run linux you're out of luck trying to run one of these things. Until now.

    One caveat. In the announcement text they state that it is only "known to compile under Microsoft Visual C++ 6.0, and makes use of MFC and DirectX." This means that it can't compile under linux without some work.

    The benefit is that they uncover all the insides of the software, so you can take whatever pieces you want and implement them any way you want. (including my preference of a command line interface, just imagine, a $600 robot carts location being mapped on an ascii map!!!)

  • All they have done so far is released the current windows software under the GPL (still kinda strange).

    They said they plan on a rewrite to help platform portability, but that is 6 months away.

    Although this source code should make it relatively easy to create the linux support.

  • Oh when I was a robot, a long long time ago.....on hot bot.
  • Perhaps. They did say they are working on a six month rewrite.

    Personally, I think it was to tide the linux/robotics community over until they have time to properly address the support issues.

  • Everyone- Deails of the Linux-specific support for Cye has apparently gotten lost in the shuffle. I've written a platform-independent interface in Java that allows a developer to command the basic functions of Cye, like "move to position x,y" and "set motor velocities to v1, v2". This work was originally carried out to allow the CMU RoboCup Team ( for CMU's team, for info on the competition) to port their soccer-playing code to a new set of modified Cye platforms. Meanwhile, Probotics has decided to release their source under the GPL, but as their development page says, there is no existing support for Linux. HOWEVER this is definitely a great first step, so they should by no means be criticized. The CMU JavaCye package has been (somewhat) extensively tested, so if you have access to a Cye and dig Linux, please head over to our download page and give it a try! Thanks! Brian Chemel
  • I mirrored the useful part of the page after this comment:
    This source requires DirectX. There are a couple of works in progress, like John Fortin's port of DirectX 6.1 [] and Peter Hawkin's port of DirectX 5 []. They're both designed for compilation under gcc/egcs on Windows, so they might be useful for alternate platforms or not.

    A Letter to the Open Source Community

    The Probotics team is proud to announce that we are releasing all of our source code to Map-N-Zap under the Gnu Public License. This includes all of our GUI, Iconic programming language, and Robot communtion protocol code. This decision was made in part because of the numerous requests from the linux community for our source code, and the realization that they, and developers for other platforms, have much to offer to our mission, which is to make really cool robotic technology. We would love for you to take our source code and do wonderful things with it. Obviously, since we are releasing under the GPL, any contributions you make will remain under the GPL as will this release, even if we choose to later re-release this code under a proprietary license.

    The source code which is released is that of version Map-N-Zap 2.1, with some changes. These changes are briefly described in the included readme. They are mainly work arounds to some proprietary source code which we did not hold the copyright to, and some (very preliminary) additional development.

    This is a preliminary release of the source code. We are currently re-designing Map-N-Zap, to improve both the functionality and portability of the code. This code will also be much better documented than our current code. We expect to have this done in around 6 months or so. Until then, we wanted developers to have the opportunity to examine and work with our code.

    The only caveat is that our software development team is essentially one person who wrote more than 95% of map-n-zap, and a few others who have contributed to it. As such, we cannot offer any support to developers. We just don't have the resources. What we are doing is creating a mailing list which will be used for announcements of any new developments or generally important things. Also, a Developer's Forum b-board will soon exist, which will be for you to talk to each other about any issues that arise, although we will monitor it and participate in it as time permits.

    The source code is only known to compile under Microsoft Visual C++ 6.0, and makes use of MFC and DirectX. Therefore, it will not directly compile on non MS platforms. However, the dependance on DirectX is not great. A Readme file is included which gives compiliation instructions. Other than that, the code is commented, but there is no global source documentation.

    Finally, before downloading the source code, we ask that you fill out the form below and give us some basic information about yourself. Our privacy policy is that we will NOT release any of your information in any way, either by selling it, giving it, or making it available in any form. Nor will we use it internally for any sort of marketing, spam, etc. The only disclaimer to that is that if you check the "Include me on your mailing list" box, you will be added to our developer's mailing list, and receive information from us. We're only asking for the information because we're personally curious about who you are, where you're from, and what OS you're using.

    The Probotics Team.

  • To reiterate, the Java port is done -- if you want to drive the Cye from a linux box right now, all you need is the JDK, and the JCye package from []. The package was written by Brian Chemel at CMU's MultiRobot Lab []. Regards, Tucker Balch
  • I want to mount machine guns on one and turn it into a Dalek!
  • by 348 ( 124012 ) on Monday January 24, 2000 @09:39AM (#1343032) Homepage
    IBM was also waiting on this and are very much in favor of it on this and several other fronts. In an interview last week John Tompson was asked how this and other Linux centric and open source efforts play into IBM's strategic direction. He responded:

    "We've chosen to move all of our middleware to a Linux base. Notes, Domino, Websphere, MQ [Series] -- our entire line of middleware software has not only been ported to Linux, but exploits Linux. You'll see us continuing to invest in it."
    - IBM senior vice president John M. Thompson, who oversees IBM's $12.7 billion software business.

    I think this is a very positive step. Having big development houses like IBM and others brings a lot of money to the table for R&D along with co-branding, co-marketing and all the while Linux gets to ride along. Great stuff!

    Never knock on Death's door:

  • by ParagPA ( 36712 ) on Monday January 24, 2000 @09:45AM (#1343033)
    A few comments on why we released our source code. First, it wasn't so we could lay off programmers. We only really have one full time software person, and there's no way we could afford to lose him. Second, it wasn't because the code was too big - we're handling it just fine right now, even with 1.2 people doing software. Part of that statement is true, though. We currently do not have the resources to do linux/Mac development. There are two options then, we can either ignore these communities, as we have been doing, or we can TRY to jump start something by giving away what we have developed, in the hopes that others will take an interest, and develop the software for other platforms, either based on our code, or something completely new, using our code as an example of what CAN be done.

    If this happens, do we profit from this? Of course we do. The best part of our job is that we get to build really cool devices, and promote their use. The second part is that we have to sell robots to survive. If our robot works on more platforms, we can sell more robots. So, this isn't a COMPLETELY altruistic decision, but in large part, we WANT others to be able to do cool things with our robots, because we love what we do, and we hope others will have fun with the fruits of our efforts.

    Comments/questions can be directed to:

  • Careful now. If this port only works with the JDK then it may be illegal to redistribute it! The JDK is not free software so it is not compatible with the GPL. Distributing a GPLd application that depends on a GPL-incompatible software is illegal. If your friend asks you for a copy, it would be wrong to give it to him according to the GPL. Just say no. This port is as illegal as KDE.
  • They released the source under the GPL.

    They didn't add Linux support.

    Why does the Slashdot headline say "New Cye Support for Linux!"?


  • Distributing a GPLd application that depends on a GPL-incompatible software is illegal.

    What are you talking about? If that was the case, then GPL'd software would only be legal on a GPL'd operating system. Last I checked, most GPL'd software ran on various Unices that were quite far from being GPL'd - Solaris, HP-UX, IRIX, etc. etc.

    Here's the relevant part of the GPL:

    If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.

    This seems pretty clear-cut. Separate components don't have to be GPL'd. I.e., the source can link with another library that isn't GPL'd. Like, oh, Solaris libc.

    What you might be thinking of is the next sentence in the GPL:

    But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

    But this is about derivative work, not separate components. I.e., if I make modifications to GPL'd software, the mods are GPL'd. But if I link the same software with a proprietary lib, that same GPL'd software is still fine, and no law has been broken. Even if I modify the GPL'd software to enable the linking to work correctly, it is still legal - the modifications are covered by the GPL, even if the library is not.

  • Actually, although it's been lost in the shuffle, the kind folks at CMU have released a Java communications protocol which works with Cye. It runs just fine under linux, and is available at:

    Parag Batavia
  • The Java port I developed at CMU is not GPL'ed. Probotics' recent source release is GPL'ed. Brian
  • No, these companies have realized they're selling hardware. By making the interface definition public they let anyone create software..but to use any kind of software someone will have to buy the hardware.

    They've realized that anyone who wants to make a hardware-compatible device will not have much trouble figuring out the interface with or without documentation...and in the case of a robot, the competing robot will have to have very similar dimensions or the computations in the controlling software will not work well.

  • While having this on Linux might be good, having a Palm port would be amazing. You could hook up the Palm via the serial port and use your Cye anywhere.
  • I never knew Open Sourcing Cye was this important
  • I guess nobody at /. recognizes sarcasm when they step in it. All of your arguments in favor of the JDK apply equally well to Qt. Yet Debian still won't include KDE because they consider it to be illegal.

    "If that was the case, then GPL'd software would only be legal on a GPL'd operating system."

    But the JDK is not included as or with a major component of the operating system.

    "Separate components don't have to be GPL'd. I.e., the source can link with another library that isn't GPL'd. Like, oh, Solaris libc."

    Then why can't it be linked to Qt?

    "But if I link the same software with a proprietary lib, that same GPL'd software is still fine, and no law has been broken."

    Then what was that Corel/libapt fiasco all about? Why are there threats to sue KDE for reusing GPL code?

    The problem is that people feel they can arbitrarily decide which projects violate the law and which don't. If KDE is illegal, then so is the java Cye port.
  • That's good to here then. However, I'm wondering if you'll need a special exception to use the new code. Of course, if it can be made to work with Kaffe then everything's hunkydory.
  • JCye does not depend on Sun's JDK. It will work with any JVM that supports Sun's JNI or Microsoft's RNI. Compliant JVMs include, but are not limited to Sun's JDK 1.1.x and later, Symantec Visual Cafe, Borland JBuilder, IBM VisualAge for Java, ParcPlace Parts For Java, SuperCede 2.x, IBM JDK for OS/2 and Sun JDK ports to Linux and FreeBSD. --Tucker
  • That's a very enlightened decision. Opening up the source code and allowing people to tinker with it is a great way to build interest and encourage people to try out your robots.

    So all in all, it's a shrewd business move, good for people who like robots, good for open source software. It would be great if other hardware manufacturers took note and followed your example.

    Like I said, respect.

  • But are any of those JVM's compatible with the GPL?

    Of course, I have since learned that JCye is not GPLd, so it doesn't make much different. But considering the KDE boycott and looming lawsuit, I suspect that QPL/GPL compatibility is not the real reason GNUheads hate German desktops.
  • umm..dude.. Qt is FREE SOFTWARE. Who cares if there is no free alternative when it is ALREADY FREE!
  • Sorry to ask such a lame (read the FAQ!) type question, but I am interested.

    They are releasing 2.1 under the GPL. They say that it will continue to be under the GPL, even if they release a future version under a more restrictive license

    Isnt that against the GPL? How can they release a future version under a proprietary license, when it would obviously be based on v2.1? Arent all changes to GPLed software under the GPL? Or are they trying to make us believe that they will do parallel development on the non-GPLed earlier version?

    Taking two copies of source, and saying one is GPL and the other isnt just doesnt work. You arent GPLing the bits on the disk, but the *content* of the work.... I believe they risk breaking the GPL by this idea of releasing a future non-GPL version

    Any feedback?

  • Is this threat and finger really by CmdrTaco?
  • Hello,
    Here's what we meant. Version 2.1 is GPL, and will always be GPL. Any changes that anyone makes to our software will also always be GPL. However, legally, any changes *WE* make to our software (as long as it doesn't use anything done by anyone else), does not *have* to be GPL. In fact, legally, we could re-release 2.1 under a completely different license. We still hold the copyright to the software, so we can do this. Any author of a GPL package can do this. No one does, and we don't plan to, but our lawyer, who is already torqued off at us for releasing our software under GPL wanted us to include this caveat. Basically, if you write software, and own the copyright to it, and then release it under GPL, the GPL applies to everyone BUT you. This doesn't mean you can do what you want w/ code that others have written, but you can do whatever you want w/ code you have written. Licensing under the GPL doesn't give away the copyright holder's rights to the work. In fact, I specifically spoke w/ someone I consider a GPL expert about the matter. Hope this makes sense...

    Parag Batavia
    Probotics, Inc.

"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell