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

Reply via email to