Hacker News new | past | comments | ask | show | jobs | submit login

I don't really think, either, anybody will use a library that is almost in the state of initial development. It's the first.

Secondly, what do you want? I could inject the license check into multiple parts of the library, but this is a dubious way.




Herein lies the issue.

Your library addresses issues that you personally have perceived exist with licensing software.

What you haven't done is ascertain what issues actually exist.

For example, what problem does your library alleviate?

There are other examples out there that can also be used for free, so it's not that.

There are examples that work natively across multiple environments, like Mac, Linux and Windows. Again, your library doesn't help there.

Java, C++, Swift etc.? Nope.

Centralized auditing? Cryptographically secure? Battle tested?

Sadly your local library strikes out everywhere - it's very core sadly let's it down because you didn't actually identify a problem to address, so your "solution" isn't really going to move a needle.

Multiple questions have been asked of you but nowhere have you really identified the audience for this library.

Why should someone use it over something else?

There's 100s of similar packages available on Nuget - many of them seemingly unmaintained.

For your library to be of use, you need to offer value over the cruft and crud.

Open source is a blessing and a curse. I've multiple packages out there that I thought were pretty neat at the time - and filled a niche spot. Few folk felt the same but that's fine by me as well.

Rather than try to iterate on this, I'd step back and ask yourself the hard question: what does your lib do better (or at least equally as well) as the competition?

And be severely critical. Given the stated purpose of this library, put yourself in the mind of an adversary: how quickly could you defeat it? If it's mere minutes then it's not good enough.

Look for all the weaknesses, look how other libraries fix the weaknesses.

In the end you may decide to give up. That's fine as well. Don't treat it as failure though, just use it as a stepping stone and try, try again.


Firstly, I don't think it's fine to give up.

I'll tell you how, I think, my library can be cracked. Of course, disassembling and deobfuscating. Then, I (adversary) have to find the is-license-valid method. Then make it return... not true, but an entity containing the corresponding information. (Which means I have to examine the structure of library.)

It's all, in the current version. I don't think it's enough, so I have a task to inject license validity checks into multiple places of the library. It'll cause headache after patching the is-license-valid method because there are other checks.

(Oh, yes, after patching I have to recompile the library.)

But in other licensing libraries the process is the same! My lib (at least when I'll "split" the license check) is not worse. Do you agree?

What does my lib do better than others? Let's start with the fact I couldn't find any "others" on GitHub. All licensing libraries I saw there work with "license files" (JSON/XML/something). I challenge you to find a competitor of mine there!

Then, what does it do better than the libraries working with license files? Such libs have one serious weakness. Someone payed for a license and got a signed file. Then he gives it to 10 friends, and they have activated program with no pay. This can't occur with my lib because each license activation is registered on the remote server, and it doesn't allow you to activate a license when there are too many previous activations.

What about "I didn't identify the audience of my library" — maybe I didn't catch it? Isn't it obvious?


I see no need to continue this discussion since you apparently feel your simple library built without understanding about actual real-life need, is better than the various battle tested ones out there.

I'd suggest you focus less on hubris and more and understanding.

Goodbye.


If you can't find arguments against what I said, say it directly. However, goodbye.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: