On Sun, Oct 12, 2008 at 3:37 PM, YKY (Yan King Yin) < [EMAIL PROTECTED]> wrote:
> > There are other differences with OCP, as you know I plan to use PZB > logic, and I've written part of a Lisp prototype. I'm not sure what's > the best way to opensource it -- integrating with OCP, or as a > separate branch, or..? [note this is a technical digression, but some of the info below may be useful for other open source AGI projects, so is just marginally on topic for this list] Most new features are added to OpenCog via branching and merging, including the PLN implementation that Joel Pitt is integrating at this moment. The OpenCog codebase is stored/accessed/revised using the Bazaar distributed version control system (DVCS). Bazaar (aka bzr) is similar to Git (used for Linux kernel development) and Mercurial (used for Mozilla/Firefox development). DVCS replaces old-fashioned centralized version control systems like Subversion, CVS, Microsoft SourceSafe, etc. Creating a private branch based on the the OpenCog source, e.g. to work on a new logic implementation, is simple. In practice, if you keep your work cleanly in separate directories, it's possible to easy remain in sync with the 'trunk' (the common stable branch) by regularly 'rebasing' your local branch against the trunk. Its also simple to publish (aka push) your local branch(es) to Launhpad, where OpenCog is hosted. At present, the OpenCog trunk is a few weeks out of date because a large amount of new work is being stabilized in the 'staging' branch. Within a few weeks though, the trunk will be refreshed after all developers have rebased on 'staging' and corrected conflicts with their local branches. It's difficult to estimate all of the plusses and minuses of working with OpenCog before it reaches a stable release. I believe however that it's possible to collaborate with other developers to use the AtomTable in the 'correct' way, which may include priortizing immediate work to allign with future feature enhancements or bug fixes relating to the AtomTable. Gustavo recently wrote MindAgent boilderplate code, which is effectively plumbing for creating new MindAgents. Although the learning curves for C++ with boost and templates, plus the 'Zen of OpenCog' way of doing things, likely exceeds the technical hurdles! The steep learning curves are reasons why we're trying to lower the technical hurdles by creating things like installable packages, boilerplate code, Eclipse IDE integration, tutorials, wiki pages with developer documentation, etc.! -dave ------------------------------------------- agi Archives: https://www.listbox.com/member/archive/303/=now RSS Feed: https://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: https://www.listbox.com/member/?member_id=8660244&id_secret=117534816-b15a34 Powered by Listbox: http://www.listbox.com
