I have a genuine question as I honestly have no idea what to do and who to ask.
I'm working on relatively complex project in Rust related to computer graphics from scratch. It's not a game engine in traditional sense, more like a graphics-rendering engine but with a notable focus to rendering graphics for video games.
It's a hobby project that I develop since around 2024 on full-time and it consists of a number of quasi-independent low-level and high-level libraries of different kind. It's far from release, even though a part of the planned infrastructure already finished and could theoretically be published on it's own.
A part of my motivation was developing a graphics-rendering infrastructure for Rust. I like Rust due to personal preferences, but unsatisfied with the current state and quality of it's ecosystem related to computer graphics. I wouldn't say that the Rust libraries ("crates" in terms of Rust) I'm developing are too innovative, but they are notably of higher quality in many aspects at least to my personal taste. I can't say whether the community would use my implementation as a replacement for already existing one, but I think it's not necessary bad addendum to the public tools.
I don't use LLMs or any kind of AI-assistance in any form in my work. I'm dedicating notable time and efforts into this project. The entire infrastructure developed completely from sratch and by hand. I also don't use any 3rd-party Rust crates. Partly, because I'm not satisfied with the quality of those, and partly because I can't confidently say whether particular Rust crate is a hand-made work too or vibe-coded. I want to stay in the hand-made field as much as possible. It's not to discourage AI-assistant tools. Some find them useful and maybe they have a point, but hand-crafting for me is a question of personal values. Also, I have prior expertise in the aforementioned fields, and I just don't trust chat-bots.
That said, even though my work might be interesting and maybe even useful for some colleague-programmers, I don't see reasonable ways to show and share it considering the current circumstances.
If I publish it just as it is as an open-source work into the public crates repository (crates-io) and to GitHub, there is a high chance it just will not be recognized. The current media space is currently full of vibe-coded projects published everyday to which I have to compete. Worse, I'm afraid my work would receive public opinion as ai-slop. A Rust library consisting hundred of thousands lines of source code developed by a single person and published as a single git-commit is an evidence of being generated by LLMs regardless of the author's claims.
The second observation is that even if the work eventually receives positive opinion, there is a chance it will be stolen using LLMs. To clarify, I don't mind if my work would be used for learning purposes, and to encourage other to work in the same field (in fact that's partially my goal too). But I'm afraid that with the current capabilities of the LLM-services it could be clean-room-reimplemented in a couple of days by feeding the source code to the chat-bot asking it implementing something similar but in slightly different form and without preserving attribution to the original author. While I maybe don't care that much about monetary interests, as many OSS developers I still care of preserving attribution and public recognition. On top of that, those who have resources (the business), obviously have competitive advantages in promoting their derivative. More restrictive licenses (e.g., GPL) are seemingly ineffective to protect from these threats today.
One possibility here is to never publish the source code, but instead publish it in form of compiled shared libraries (DLLs/so), the documentation covering only the high-level public API, and with the open-source FFI binding to these APIs. This approach even have certain practical advantages as I can provide FFI wrappers for more programming language ecosystems hence covering wider audience. Additionally, LLMs yet didn't reach the point of being capable in reverse-engineering of deeply-optimized compiled binaries into the original source.
The drawbacks is that this approach is obviously a closed-source path. Leaving aside Rust community that has strong appeal toward open-source, the programmer's community in general usually does not trust software without the source code. The gamedev community historically is slightly less harsh toward the closed-source software. We use proprietary soft (e.g., DirectX drivers or quasi-closed game engines), but usually such software coming from well-known vendors, not indie-devs like me.
Anyway, more important consequence here is that this path naturally means that I don't share the source code, which may have a value for some programmers on it's own. Basically, with the closed-source I don't publish the work itself, I'm only distributing it's engineering component.
Another possibility that came into my mind is sharing the source code with the limited number of people who I can trust and who trust me. E.g., publishing it in private GitHub repo with access to close circle of trust. This approach limits public visibility and doesn't impose full protection. Basically, I'm not publishing the work again, I just share it with some people.
Ideally, I would like to share my work without all these caveats but with the programmers to whom I can trust. Unfortunately, I can't find a community of the same-mind people. On occasion I sometimes see people (including this subreddit) that share similar values, but it seems there is no organized society.
Thanks for reading of my long-post. I think the problems I described should be familiar to many. I would appreciate if you share you thoughts and fresh ideas on the topic. Maybe I'm exaggerating the problem. And I would love to hear your opinion on this matter too.
Ilya