You're not the only one my friend. This is my personal opinion: If your application's value is dependent on it's it's ability to protect its source code, then it's not actually a valuable product. What I mean to say is, how does "protecting" your source code generate or hold on to revenue? Because its perceived as something you can sell? As in, no other entity can "steal" or recreate your idea from all of your effort in building your code base? Furthermore nostr and arguably most of us devs believe in a world where the developer's brain and ability to ship a product far outweigh the value in existing source code. Many commercial or enterprise products (think of linux distros) are 100million dollar businesses building open source products. Beyond that the likelihood your product is going to compete directly with a fork of itself is arguably none depending on your licensing strategy, because they don't have you and your vision. And even further if you're worried about a fork competition, you are already in competition with other similar applications. This is where licensing choices weigh heavily. @Laeserin or @Michael J would you have any more thoughs here?
💜💜🫂Thank you for sharing. I benefited a lot. Can you share more about the choice of open source license? You don't seem to have a lightning address, so I can't zap you.
Just something to think about is all. I don't want to pressure you into OSS, I do think closed source can be necessary in some cases. Specifically for nostr, I think many of us come here expecting to escape the requirement to blindly trust the product and its developers. I trust many of us here to be morally aligned but that can be quite naive. I personally prefer copy-left. Many prefer completely permissive licensing. For code that produces a product, I would personally (and usually do for my own code) choose the GPLv2+ or AGPLv3+. Both areGNU copy-left license. It requires anyone who uses your code build their own product to release your source (or their modified source) publicly. Damus is GPL I believe and its looks like Amethyst is MIT. AGPL has the requirement for server usage. That is if your code sits behind a production application but is not public facing, if changes were made, your code must be made available (with your name on it!) both modified AND your original source code. There are other more and less permissive licenses out there, but I appreciate the history of GNU and FSF defending developers using their licenses. It's probably going to take a while to choose a license you like, but it's meant to protect you AND your users/community. I may be on the extreme side, I won't lie, I like owning my code, and having my name displayed because I'm proud and have an ego, but I highly respect my user's rights, so once my code hits a user's hands, its theirs to do what they want with it. Free and always available as long as I'm working on it. That's why I use copy-left.
Amazing! Thank you for your patient and sincere sharing. This has benefited me a lot. Thank you so much. I will consider it carefully. 💜💜💜🫂🫡
Anytime! If you have any questions, feel fee to tag me or anyone working on the @GitCitadel project.
You lost me at "I do think closed source can be necessary"
Plenty will disagree. That's fine. I don't believe the world works in absolutes. I would be lying if I said closed source is never necessary. There will be circumstances I can't predict and valid reasons I haven't heard. I can't predict them, nor do I have much experience in the world of enterprise software development and product management.
I generally agree that a strong product will still be profitable even if it's open source. However, the question remains of how the developer gets paid. With open-source code, anyone can build and run it, at least in theory, so you can't easily charge per-download or per-license key like some closed-source projects. If you have a client-server model, you could charge for server usage and earn money that way. That applies less to Nostr, though, due to the distributed relay model. One option I may explore in the future is a paid early access. Maybe v1.0 is free, but higher versions with new features are closed-source and behind a paywall. So users who want the latest and greatest features can pay to see them sooner, but the free user base continues to receive maintenance and support.
Lots to discuss about funding models, I think many are legacy. While I personally believe in FOSS mostly, source doesn't need to be free, and it definitely doesn't "need" to be anything more than copyright. I would rather have someone (like Apple does on occasion) release source code without a free license or a license at all (protected by copyright in most countries) than not share source at all. It means we can at least audit and learn from a product, as a bare minimum. Again prefer foss, but baby steps are important.
My thoughts in FOSS. https://habla.news/u/laeserin@getalby.com/1718428898562 nostr:naddr1qvzqqqr4gupzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqqxnzde38q6rywpc8yur2d3jknxxgm
Funny thing. I regularly look at people's code. I probably peruse the .NET std libs and garbage collector code daily along with gnu libc and musl sources (mostly looking for hidden cryptographic functions). I pop through Damus and other C apps like strfry and such. I learn so much by looking though other projects code. I read TLDR and look through the code of FOSS apps if it's doing something I'm interested in daily.
I will usually check in to see what @Michael J has been up to also.
That's why you're good. 🤷♀️ You're not the sort of programmer he's worried about having a look at his code, tho, as you're just curious and learning new techniques or how to implement some NIP. You still go build your own thing, often in a different language, which is too much effort for a copy-cat. I mean, we used to reverse-engineer implementations from compiled code, and you can soon probably have AI do that for you.
yeah, at some point soon hiding code will be a waste of time and cheap to reverse