> After playing with professional Load Balancers like NGINX I tried creating a simple Load Balancer for fun.
And while nginx[0] certainly can perform in this role, another production quality load balancer is HAProxy[1]. Both can do more than this, of course.
Reinventing solutions "for fun" certainly can be educational and help others learn key concepts, but the author should clearly state what they are doing is not meant to replace production quality solutions.
Besides, even if a beginner somehow wanders into the project, mis-IDs the project, and uses on their beginner server, then it sounds like a good learning experience for them even though the README didn't give them permission to learn by neglecting to include the word "educational", god forbid.
Is this the catastrophic scenario you have in mind?
I was trying to be explicit as to my reasoning. If that came across as "hair-splitting" then I suppose I failed to adequately do so.
The whole point I was trying to make is that people find code in all sorts of ways. And my opinion is that if a public repo, such as GitHub, has a project which could easily be both desired (due to need) and misused (due to intent), then it might be a good idea to put a simple declaration in the project's README.
Given all the blow-back this concept has incurred, I would think the concept is either wholly immaterial or now proven as needed.
This seems to be a strange hill to die on. For all intents and purposes there is a declaration in the readme. And anyone who knows enough to want to operate with this will see that it's fairly basic. Others will likely just reach for a more generic or battle tested solution.
In any case, people should be able to do what they want with their repos and code, assuming legality of course.
> If you race through chains of synonyms, changing between definitions along the way, you can get almost anywhere. Why does this matter?
I am not racing through chains of synonyms.
What I was trying to elucidate was that the use of "dumbest", when the repo is ".../simplelb", and the very first line of the README says the project "is the simplest Load Balancer ever created" might, just might, lead people to think that "dumbest" is being used in this context as a synonym for "simplest".
Which might, just might, cause people to consider it for uses this project is not intended to satisfy.
I would really love to meet the person that knows the English language well enough to understand that dumb can sometimes mean simple but also would interpret that sentence to mean “world simplest Load balancer”.
Very strange axe you have to grind for a very unlikely hypothetical. Just because something is possible doesn’t mean it is probable.
> > but the author should clearly state what they are doing is not meant to replace production quality solutions.
> If you know you need a load balancer you should already know this.
If you know you need a load balancer, you go and look for one. If you happen upon one in a programming language you use, then it may be more appealing.
But if you don't do any research to find out if it is production ready, you aren't a production ready dev anyway. A disclaimer isn't going to save them.
Yes, if you will use anything that doesn’t say “NEVER USE THIS IN PRODUCTION. SERIOUSLY THIS IS FOR EDUCATIONAL PURPOSES ONLY” then you are going to get burned by a lot more than a LB.
> After playing with professional Load Balancers like NGINX I tried creating a simple Load Balancer for fun.
And while nginx[0] certainly can perform in this role, another production quality load balancer is HAProxy[1]. Both can do more than this, of course.
Reinventing solutions "for fun" certainly can be educational and help others learn key concepts, but the author should clearly state what they are doing is not meant to replace production quality solutions.
0 - https://www.nginx.com/
1 - https://www.haproxy.com/solutions/load-balancing/