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.