Few questions about the project nature #1805
Replies: 1 comment 5 replies
-
To understand the project, we will have to look at the historical context. The project was started by me back in 2012 after trying to use both SWIG and the mono/CppInterop projects to bind a game engine and being disappointed by both. I forked CppInterop at the time and replaced the generator with Clang (it used GCC-XML) which resulted in pretty much rewriting 99.9% of the code. I solved the problem I had in that summer, with the first backend, C++/CLI. Eventually the project got noticed and I started working at Xamarin at the time and was contracted to keep working on the project (named Cxxi at the time) and build it up to bind the Blackberry platform, which required building a new C# backend. At this time I think it was renamed to CppSharp and Dimitar Dobrev joined the project as an open source contributor, he was binding Qt with his QtSharp project. Dobred quickly became a main contributor of the project, and was the main driver of most of the more complex features of CppSharp, like its template support. At this time I invited him as an admin, and we shared administrative burden of the project. After Xamarin was bought by Microsoft, I had another stint at developing something related to this project (Embeddinator-4000), which benifited CppSharp a little bit too since it built upon it. But a little later that project was canceled by management, which left CppSharp again without any support. To make matters worse, Dimitar Dobrev got hit by COVID during the pandemic and died suddenly and unexpectedly, another big hit to the project, his last words to me during his hospital bed were to keep our baby alive, this was how much he cared for this project. Meanwhile, Jose Torres, an external contributor at the time, also helped a lot, fixing a ton of bugs and improving the packaging process, and has helped on some support work for external companies using the project.
About development of the project, I think saying it's not actively developed is not strictly fair, we have just recently released a new version with VS2022 support and updating to Clang 16, which took some non trivial effort to do. Maybe the development pace is not as it once was, but it's still being developed.
Mainly because my focus has shifted from C++ and C# to other backends, and making sure those pending PRs are fully correct and do not break anything else takes days of work. And so far no one else has stepped up to the plate to fix them.
Yes, for sure. Historically we have never had many contributors, despite being very friendly to contributors. We did participate in Google Summer of Code for some summers, which helped in getting new contributions, but also took a lot of time in mentoring the students.
Overall I agree with those. If you would like to help with that I am here to support, I can help but I won't be the main driver for new development at this time. I think there is value to having most generators included as part of the project though, so if we can figure out a way for external contributors to own official generators in the project tree, that would be great. We can change the governance structure of the project for instance, but for that interested people like you need to come up first, most people just disappear after they solve their original issue 😄 |
Beta Was this translation helpful? Give feedback.
-
Hi, I have few curious questions about this project, I kept wondering about.
While I find this project really interesting with a huge potential, there are few answered remarks/questions:
mono
is the owner of this repository, but the project isn't being actively developed. Is the development now in a stagnant/contributor oriented state? Or did they lose interest in it? Considering that this project is relatively old.Is the working force the main problem?
Plans for future:
I have more questions, some are technical but will keep them for later.
Binding generation should become an easy task, especially when so many helper libraries are available.
SWIG
is good overall but has poor support for many languages and harder to extend, which we will have advantage over.Thanks.
Beta Was this translation helpful? Give feedback.
All reactions