Menu

GTK Port

2000-08-07
2000-08-08
  • Phil Howlett

    Phil Howlett - 2000-08-07

    Porting NICOLE to a different interfact will have a few issues.

    Mainly because the existing code base hasn't catered for it. Zach has already mentioned that there are a few STDIO/STDOUT entries in the parser object which would need to be removed.

    I'd still like to keep a 'console' version of NICOLE, mainly used for debugging, but I can't see any issues with also developing another 'client'.

    Go for it Zach.. :)

    Cheers,
    Phil.

     
    • Zach Garner

      Zach Garner - 2000-08-07

      Yeah, just to make my views clear, i'm personally totally against dropping the console  :)  There's nothing worse than running an X application over a dialup shell to system on the otherside of the country.

      Here's what i'm planning on doing: Seperate the console UI from everything else, changing all STDOUTs and STDINs to a callback function that will be located in main or somewhere. Also, i want to move as much as I can out of nicole.cpp. I'd like to get it to where we can simply do a while loop reading user input and sending it into the parser. Everything else would be taken out of nicole.cpp (except for initializing things). I think doing this will clean up the code a good bit. And finally, have all of those changes taken care of before the GTK frontend is added.

      And to let everyone know my motives: i mentioned before (and i dont mean to keep refering to) that I'm working on another chatterbox. My long-term goals is to take what i've learned (and as much code as possible) from Ummon and Nicole and make a seperate Generic User Interface for chatterboxes. So i'm currently developing the GTK for Ummon, and i will use as much of it as i can for Nicole when the time comes. (we are using a BSD license so its no problem to take code from Ummon and put it in Nicole, the converse is false...). So i think by the time I actually start working on GTK Nicole, the GTK font end will be fairly stable and have a nice set of features. In addition, any of our (future) Networking code (IRC/ICQ/etc) and whatever else (generic config file and commands classes) will be able to make it into Nicole if there is interest.

      I'm entering the oh-so-dreaded "finals week" so i'm not sure how much i'll get done anytime soon. But you should be hearing a lot of suggestions, questions, etc from me receiving a lot of changes from me soon.

       
      • Phil Howlett

        Phil Howlett - 2000-08-07

        I'm glad we are thinking along the same lines.I want to make the console app as simple as possible. Ultimately, I'd like to have the console app simply to test the functionality of NICOLE, and also as an example how to write a program to use the NICOLE API.

        Yes, the parser object does need quite a bit of tidying up. I'm not all to happy with it. Feel free to make any modifications you think are needed.

        Do you think the GPL forNICOLE is limiting the development of NICOLE into other areas?

        I'd prefer the console app to be made in a seperate directory (similar to Ummon) with the common routines in the main src directory. Perhaps the GTK version of NICOLE could be in a gtk directory?? (I'll leave that up to you).

        I'm glad to have you aboard. There is nothing better than another enthusiastic developer for NICOLE to take her forward. :)

        Keep up with those CVS updates. :)

        Cheers,
        Phil.

         
        • Zach Garner

          Zach Garner - 2000-08-07

          yeah, the Front Ends in their own directories would be great. It'd be easier to keep up with everything.

          GPL: Well, i personally wanted the BSD license for ummon because that's my favorite license. I do all my programming under the BSD if possible. The only thing you really get is more freedom for the software. In my opinion its morally wrong to place restrictions on algorithms. The BSD makes sense for me (with public domain a viable option).

          By using the GPL you stop Ummon (and any other BSD licensed projects) from using your code. And that is somewhat of a deterant for working on Nicole, to me. And that is why i prefer doing as much work as I can on Ummon and porting it over to Nicole. It keeps the code available to me for later use. To most other people, they probably do not care. Its more difficult to write a BSD licensed program because you cannot even link to a GPL'd library without "infecting" the BSD code.

          Anyways, Like i've said, i'll be seriously working on things within a week.

           
          • Phil Howlett

            Phil Howlett - 2000-08-08

            Okay, I'll spend some time tonight re-arranging some of the directories and files.

            I'm not familiar with the BSD license. The only real open source license I know of is the GPL. Are there any sites that you know of that I could find out more about the BSD License.What advantages/disadantages would NICOLE have if I switched to a BSD license. Can I switch now, or are previous releases locked in at GPL??

            Looking forward to hearing your response.

            Cheers,
            Phil.

             
            • Zach Garner

              Zach Garner - 2000-08-08

              I've had the hardest time finding much real info about the various licenses.

              Here is a list of links to the licenses:
              http://www.opensource.org/licenses/

              Basically, the BSD license says only that redistribution must contain the copywrite notice and a copy of the license. Anyone can do anything with your source as long as they acknoledge that you wrote it (which you may consider a bad thing... If you look Microsoft uses a good bit of BSD networking code, but they couldnt with any of Linux's).

              If you ever think you might want to make Nicole into a proprietary product (closed source) you (and anyone else) could under the BSD licenses, but not the GPL. FreeBSD, NetBSD, BSDi and Solaris if i'm not mistaken were all derived from the same source base that was under the BSD license. FreeBSD and NetBSD made their changes freely available. BSDi and Solaris took the code base and made it into a comercial product, not releasing the source.

              With the GPL, programmers are locked into using it. No one could take Nicole, make changes, and keep those changes for themselves. And honestly, that isnt entirely a bad thing. I mean, it makes it so that OpenSouce is kept going and it makes it so that it is really difficult for someone else to make money of your product.

              I wish i could give practical benifits of chosing the BSD license. But, honestly, the only reasons i have are ones based entirely of some theoretical beliefs that i hold. I'm a mathematician at heart, and the thought thas someone would stop me from using an algorithm or would keep an algorithm a secret doesnt make me happy. I believe somewhat in the Platonic Universe and all of that. The GPL is a huge step in the right direction, but it is Virulently restrictive. It'd be impossible for a large project like Linux to ever change (see below) to a more free license like the BSD or Public domain.

              There is a disadvantage when using the BSD license in that you can not (as far as i know. I've emailed the FSF about this) link to a GPL'd library. I think you can with LGPL'd libraries. It is possible to release to distributions, one without linking to the GPL'd library and have it under the BSD license. Another distribution of Nicole that is linked to the GPL'd library would be under the GPL. Its called releasing under a "dual license" or something. I've heard about it on the sourceforge help forums. You should check there, they've got a forum dedicated to Licenses now.

              As long as all authors of Nicole agree to switch to the BSD license, i _think_ its possible to switch. Or if you have all authors relenquish their copywrite to you, then only you have to want to change (the FSF asks all official GNU projects to do this so they can upgrade their licenses to future GPL versions and defend in court the code easier) I really do not know though. As far as the license is concerned, you can not. But i think its US law that the author has the right to change licenses.

              Well, its late. I'll see if i can direct you to some better advise tomorrow.

               
              • Phil Howlett

                Phil Howlett - 2000-08-08

                I think I will keep NICOLE GPL'd

                I'm a strong believer in open source. One of the main reasons I made NICOLE on sourceforge was to share my code and ideas with everyone else.

                The BSD licencse, wile would do the same, doesn't stop anyone 'borrowing' the code and making a commercial product from it (form NICOLE.. Hah!!!)

                I'll stick with GPL, besides I have already had other authors add to the code, and changing license, claiming that the code was mine, would be morally wrong.

                Phil.

                 

Log in to post a comment.