You bring up a good point. It is quite difficult to maintain. Not only is
it a very complex system design, but the implementation is also quite
complex, containing a lot of legacy code, unfinished features, experiments,
and whatever else. I used to thumb my nose at the fact that not enough
attention seems to be focused on simplifying the implementation. But now I
have a lot of respect for the project's ability to thrive for so long
despite the barriers to entry.

Keep in mind though that at many software companies, it can take a number
of months of full time effort before a professional engineer becomes
productive, even despite efforts to reduce this time!

And this is also a research project, with the core contributors being
focused on research. I don't think they would be able to focus on
maintainability.

My approach to solving it, if I were to decide now, would be to first get a
lot of feedback on what new and existing contributors find difficult about
the project's implementation, maintainability, and ramp up time. Would also
look at past posts meticulously, to find patterns.

Some recommendations that might be made (subject to approval and further
analysis): Would consider gradually moving parts of the C++ into idiomatic
C# (fully open source now), or even F# if functional programming
environment is desired. Any C++ developer can understand C#, and almost
anything you can do in C++ can be done in C#, but with less complex code
and easier troubleshooting. Even if half the core developers were to prefer
python (for example) I'd try to persuade everyone that C# is a better
choice due to the fact that it probably has the lowest learning curve of
all major languages, is syntactically and idiomatically similar to C++, and
has high compatibility due to the VM runtime.

Would clean up the build scripts or even rewrite them completely (the
scripts aren't bad, but they're old and probably need an overhaul). Toss
out all support for alternate OS, alternate compiler, etc. At least until
support can be re-added under a newer build system. There is (or was) a lot
of "junk DNA" code in the build script that only hinders efforts to
understand it or improve it. Ever hear of the "broken window problem"?
CMake has a high learning curve (and is it really necessary when using one
OS?) so I'd probably do away with it.

My vote is worth about zero though because I don't have the physical
stamina or mental willpower to work on this in addition to my day job (it
would not be easy work, and likely some of the hardest coding work I've
ever done, which is saying something).

On Oct 1, 2017 7:38 AM, "Amirouche Boubekki" <amirouche.boube...@gmail.com>
wrote:

>
>
> On Mon, Sep 25, 2017 at 5:05 PM Onkar N Mahajan <on2k1...@gmail.com>
> wrote:
>
>> I am interested to contributing to Opencog. What do I need to learn, and
>> how soon can I be an active contributor ?
>>
>
> Forget about it. I've been lurking for 2 years, read dozens if not
> hundreds of wiki pages and papers and I still can't contribute to opencog.
>
> From experience, if you look for guidance on how to contribute then you
> are not good enough.
>
> My 2 cents.
>
> --
> You received this message because you are subscribed to the Google Groups
> "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to opencog+unsubscr...@googlegroups.com.
> To post to this group, send email to opencog@googlegroups.com.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/opencog/CAL7_Mo-y6hgsjDPjbuJBtqcTeCiMTty9PHbHm
> NdGQ1dMstJWCA%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CAL7_Mo-y6hgsjDPjbuJBtqcTeCiMTty9PHbHmNdGQ1dMstJWCA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to opencog+unsubscr...@googlegroups.com.
To post to this group, send email to opencog@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/CAMyYmr9AXLz0o_MOOXP_Vab3ece7RKN0vhQ4QNfdKEe1Ehjzog%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to