AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Why release code?
 
 

So, let’s say for the sake of conversation

your project is finally ready for release.

Should you release it as open source? 

Why release code?

 

 
  [ # 1 ]

Not sure as I never had anything that would be so huge as to cause me the dilemma.

I used to do a lot of PHP work for some forum software, making modifications and writing custom code etc. Sometimes I released my work. Other times I did not because I just couldn’t face supporting the code and answering all the support requests. There’s only so much time in the day.

I kind of digress, but with this experience I know I would weigh up the possibility of my making a living from the code before I considered releasing it as open source. And I am someone who really appreciates the open source people.

 

 
  [ # 2 ]

I release parts of Mitsuku’s code to encourage others to take up AIML and as a resource for what it can do if used correctly. I remember when I first started, the way I learned AIML was by looking at other people’s files. If I can provide files for other people learning, then that suits me fine.

 

 
  [ # 3 ]

That’s good Steve, I’m one of those people you have helped.  If I have not said it before…thanks smile

 

 
  [ # 4 ]

I released JFRED as open source because I wanted to invite other people to use the software and be able to improve on it. My friend, Paco Nathan wrote the inner package that makes it work based on a C++ program that I had given to him to use for his company FringeWare, back in 1996.  Paco looked at the C++ code and made improvements as he re-designed it in Java.

I am not the best Java programmer, but Paco is a genius, and has a master’s degree in CS from Stanford, so he brought a lot of tools to the project. Later, another master’s degree holder took a look at our project, and decided he could improve on it, and he did. And he graciously donated his work back to the project, and now he gets credit on our page at http://www.turinghub.org

JFRED has not taken off like other projects, AIML notably. Not so much because it is inferior, but due to a lack of documentation and a lack of promotion.

I’ve been working on a servlet implementation for JFRED for the past couple of years. It is finally getting through to me how to make a proper servlet using the package and the conventions that make a servlet work. I plan to release the source code for this eventually, when it is mature enough to be fully stable and usable. I have already release the source for my applet version, and I have an executable JAR version for macs that uses speech synthesis.

There is no reason to release your code unless you want to share its full potential with other people.  I make money from JFRED by charging for my time modifying and programming it for other people, like Annie Dorsen, or Northpole.com, etc.  I don’t want to be in the business of selling software, and fielding the complaints of people who don’t know how to use it. With open source projects, people generally take the responsibility of using and modifying on their own. Nobody expects you to work for free, and the people you work with are generally pleased not to have to pay a huge overhead for a piece of software, and then have to pay you to consult.

Robby.

 

 
  [ # 5 ]

——————————————— Release Candidate One

———————————————

“The Objective: Intelligibility before Intelligence. The Script, formatted using The American Standard Code for Information Interchange, is human readable.  The Artificial Intelligence engine may seem more human when real people can simply read what the A.I. is reading.”

.
.
.

——————————————— Reference:
——————————————— http://www.elizabot.com/codename/rc1
.
.
.

——————————————— Special Thanks
——————————————— To You For Your Support

 

 
  [ # 6 ]

I think it heavily depends on what you are expecting out of your code, and of the people who will use your code. People who love to tinker with code would undoubtedly love to see the sources. Then again, so would your competitors (if you have any). And you could keep all but one or two features closed source (like Steve). The whole open source vs. closed source isn’t as black and white as a lot of people want / expect it to be.

I’ve heard a lot of people say how they would be worried about someone ‘stealing their code’ and running a clone. Put simply, If that bugs you, open source is not for you. There is always a chance that someone will want to ride on the tails of your success, like anything else (writing, music, ...). I think that is why some companies release open source, but don’t have it full-featured, or supported.

Scrib is open source, but the data I use is not. I want people to generate their own if they want to use the code (and I’ll happily help them, but not for free). I am not in the business of selling code; I am in the business of helping people use the code, like Robby.

Roger Davie - Jul 8, 2014:

I used to do a lot of PHP work for some forum software, making modifications and writing custom code etc. Sometimes I released my work. Other times I did not because I just couldn’t face supporting the code and answering all the support requests. There’s only so much time in the day.

I kind of digress, but with this experience I know I would weigh up the possibility of my making a living from the code before I considered releasing it as open source. And I am someone who really appreciates the open source people.

Making a living from the code does not necessarily mean you need to keep it closed source; the code I run vs. the code I have open sourced, vary in ability (something not unlike OpenCyc or WordPress). Were there a community built up around the codebase, I would promote that as a source of ‘free’ help, like many other open source projects do.

There is nothing wrong with keeping code proprietary, if it suits how you wish to conduct business / yourself. I believe that there’s a time and place for both F/OSS and closed source code.

Robby Garner - Jul 8, 2014:

“Nobody expects you to work for free, and the people you work with are generally pleased not to have to pay a huge overhead for a piece of software, and then have to pay you to consult.”

I love this statement, as it resonates with me verily.

 

 
  [ # 7 ]

I have always erred on the side of keeping code private, you never know if there’s some money in it some day etc… But then again, the rewards of seeing a project really progress better because multiple people can contribute to it can outweigh that I’d say. Currently strongly considering making my chatbot project open source, but I first would love one or more committed collaborators, if not it would just stay pretty ‘dead’ as a project I think.

From what I’ve read, managing a succesful and active open source project can be as much, if not more, work, than just/simply doing actual coding yourself!

 

 
  [ # 8 ]

There are a lot of open source projects that still make money with their product. Open source does not mean “unable to make a profit.”

How would you handle the collaboration?

 

 
  [ # 9 ]

Yeah I know, like the consulting model, or like open-sourcing just some part of your code, but also maintaining it in sellable ‘product’ form. That last way may be the most sensible for a chat bot (having a community work on the pure ‘chatting’ engine, whereas you offer it in helpdesk-agent form or something), not sure.

Handling the collaboration: not a clue, never did that smile Github would be the logical place I guess! But you’d need ‘surrounding’ things like a project page and a forum (or use this one), etc…

 

 
  [ # 10 ]

Project pages can be hosted within a github project, which can use their user.github.io/project-name scheme or any custom domain. I’m sure a thread in the Development area would always be good for general dev discussion, but I’m not sure what the rules would be regarding this (if there are any).

The code I am working on has the bot-base open and some plugins open, but the brain data and certain plugins are being maintained as closed-source (for now), with the intention of monetization. Still not sure how I want to handle that, though…

 

 
  [ # 11 ]

Yup, makes sense.

My bot also has a ‘plugin’ system, where a plugin is basically one self-contained class that needs to have an ‘I want to process this phrase’ method (returns true/false), an input one that returns a ‘meaning’ object, and a ‘get output phrase from meaning’ object.

I use plugins to handle algebra questions or to tell knock knock jokes for example smile

I’ve pondered of just opening up the ‘plugin’ system as well, but I’m not sure how easy it would be to write one without being intimate with the framework surrounding them.

All in all, I think the greatest challenge is finding and keeping PEOPLE to collaborate, much more so than how to specifically organize it once you get them smile

 

 
  [ # 12 ]

That is the world of open source in a nutshell! Collaboration is the least-talked about portion of projects, unfortunately.

You can consider me apart of it - I am super interested in helping. I like Yoko. XD

 

 
  [ # 13 ]

Awesome!

How about we connect on Facebook, then from there arrange a little Google hangout to show each other around each other’s code, see where we both stand on design philosophy, implementation, ideas for steps towards a succesful ‘community’ effort etc etc…

 

 
  [ # 14 ]

Sure thing!

 

 
  login or register to react