Live data from Hacker News

Write libraries instead of services, where possible

catern.com

131–140 of 328 posts

Re: Write libraries instead of services, where possible

#131

> A service has constant administration costs which are paid by the service provider. A properly designed library instead moves these costs to the users of the library. I agree with the articles point, but this introduction, right there, is why it's not happening. SaaS turns your startup into a unicorn and yourself into a rich person. Or at least that's what you are hoping/aiming for. A library is not going to make y…

You're right. The fact that people can make outsize rewards from subscription services are the reason that even small single use tools are now 'services'. I have a piece of software that removes the background from my video feed. It's a subscription, and it regularly phones home. I have a piece of software that lets me visually combine, rotate and reorder pdfs. It's a subscription. Even the simplest things, like a 't…

> It's miserable fighting off a million people who want to help me for 'less than the daily price of your coffee'.

Is it also miserable "fighting off" a million companies who want to sell you stuff for the daily price of a coffee? Stuff like T-Shirts, books, newspapers, candy, etc?

You seem to have a patronizing attitude towards software products/services. You seem to think that they are so simple, that they should be free. And you seem to be upset that the software's author would dare to charge money for their work.

I would never begrudge someone wanting to get paid for their labor. I probably wouldn't hire them... just like I don't buy the vast majority of things that people try to sell to me. But I would never begrudge someone for wanting to get paid for their time either. If you don't think a piece of software is deserving of its subscription fee, you can always... not buy it.

Re: Write libraries instead of services, where possible

#132
post #7
post #2

I like the approach and it seems to be definitely better for everyone, but how you monetize a library?

Sell a license. I can't think of a better example off the top of my head, but here's a case study: CKEditor has multiple commercial licensing plans: https://ckeditor.com/pricing/

unipdf for golang is another example.

Re: Write libraries instead of services, where possible

#133
post #131

Earlier quoted context omitted.

You're right. The fact that people can make outsize rewards from subscription services are the reason that even small single use tools are now 'services'. I have a piece of software that removes the background from my video feed. It's a subscription, and it regularly phones home. I have a piece of software that lets me visually combine, rotate and reorder pdfs. It's a subscription. Even the simplest things, like a 't…

> It's miserable fighting off a million people who want to help me for 'less than the daily price of your coffee'. Is it also miserable "fighting off" a million companies who want to sell you stuff for the daily price of a coffee? Stuff like T-Shirts, books, newspapers, candy, etc? You seem to have a patronizing attitude towards software products/services. You seem to think that they are so simple, that they should b…

It’s not hard to find a T-shirt I can wear over and over again without having to keep paying for it. Nowadays it’s nearly impossible to find software that lets you pay once at a reasonable price. So yeah, it is very frustrating to fight off subscriptions.

Re: Write libraries instead of services, where possible

#134
post #108

Earlier quoted context omitted.

GPLv3 with a commercial exception. Corporate suits don't like the GPL, so if they buy a commercial licence they support the project without having to redistribute (You can also offer support)

GPLv3 with a commercial exception Thx. Do you mean GPL + my custom addendum ? How do you write it if you're not versed in `legalese` jargon ?

Hire a lawyer to do it for you?

Re: Write libraries instead of services, where possible

#135

> A service has constant administration costs which are paid by the service provider. A properly designed library instead moves these costs to the users of the library. I agree with the articles point, but this introduction, right there, is why it's not happening. SaaS turns your startup into a unicorn and yourself into a rich person. Or at least that's what you are hoping/aiming for. A library is not going to make y…

Great comment about SaaS, ganafagol. It's running software that you make money from, not code. Code is just the leverage you have over changing the running software. The running service itself is the ultimate "concrete object" that, for generations, software has been moving away from. There has never been a "compute fabric" as robust as the modern cloud, so long-lived mutable data-structures are becoming more common, and will be even more so.

(We try to have our cake and eat it too in an iterated game where the unit of deployment is immutable and reproducible. That game is called devops and more specifically, continuous delivery.)

Re: Write libraries instead of services, where possible

#136
post #93

Earlier quoted context omitted.

>none of these actually work and none of the implementations you will find in the wild are anything but snakeoil This is wrong. The foundation of the modern web is safe Javascript implementations. BPF/eBPF is another widespread technology using isolation mechanisms like this. All of these techniques work. As I mentioned in the very next sentence, only the first in that list is common, but that doesn't mean the rest d…

I think you are talking about different things. I have absolutely decompiled obfuscated third-party Java libraries, fiddled with a few variables or method signatures, and recompiled + used them. JVM security has nothing to do with this.

You're correct that obfuscation of Java libraries has nothing to do with Java stack inspection/JVM security... but the latter is what the article talks about and what is cited above, so not sure why you have just now brought up decompiling obfuscated Java libraries, which is, as you say, totally unrelated...

Re: Write libraries instead of services, where possible

#137
post #75
post #60

I don't hear people talk about the design side of services vs libraries enough, but I think it's a huge part of the picture. Many people reach for services too fast because they feel more comfortable thinking about APIs through the lens of HTTP verbs and resource URLs than they do in the comparatively infinite garden of options inside a program. The REST paradigm, despite most people not understanding, needing, or ut…

SOAP doesn't have anything like the restrictions rest has, does it?

"REST" these days is a defacto code name for "(JSON?) calls over HTTP", with loosey-goosey adherence to anything close to what the original REST author meant.

At this point, we might as well call it RPC-style organized calls over HTTP using JSON representations and defined by "Swagger" files.

Likewise, most of SOAP was "RPC-style organized calls over HTTP (or TCP) using mostly XML serialization and defined by XSDs.

Yes I'm disillusioned with the unnecessary re-invention of the wheel here. And "REST" interfaces defined with gigantic OpenAPI documents aren't really all that better than SOAP, just with hip and still-in-development toolchains around them. It's all marketing and popularity contests, and SOAP/XML/XSD lost out.

Re: Write libraries instead of services, where possible

#138
post #127

Earlier quoted context omitted.

GPLv3 with a commercial exception Thx. Do you mean GPL + my custom addendum ? How do you write it if you're not versed in `legalese` jargon ?

https://www.fsf.org/blogs/rms/selling-exceptions for a little philosophy behind it, however it will always be the GPL OR a commercial licence rather than an amalgam of the two

Notably, the FSF recommends against[1] modifying the GPL. And, you'd want to hire a lawyer to go over whatever scheme you're thinking of.

It's easier to draft a separate license agreement if you're the sole copyright holder.

If you're not the sole rights holder, if your project contains other GPL code, you'll need permission from the authors to license under terms other than the GPL. That would include patches from other authors, unless they sign the rights over to you.

[1]: https://www.gnu.org/licenses/gpl-faq.html#ModifyGPL

Re: Write libraries instead of services, where possible

#139
post #44

> A service has constant administration costs which are paid by the service provider. A properly designed library instead moves these costs to the users of the library. I agree with the articles point, but this introduction, right there, is why it's not happening. SaaS turns your startup into a unicorn and yourself into a rich person. Or at least that's what you are hoping/aiming for. A library is not going to make y…

Only on the FOSS world, because it is the only way to force devs to pay. There is another alternative universe where commercial software, including libraries, gets sold.

There is another alternative universe where commercial software, including libraries, gets sold

I remember old issues of Doctor Dobb’s Journal with full-page ads for libraries you could buy to add features to your shrink wrap desktop application. It was a viable business model once.

Re: Write libraries instead of services, where possible

#140
post #95

Earlier quoted context omitted.

> Only on the FOSS world, because it is the only way to force devs to pay. What about the approach that the Qt library uses, where they have a free GPL version and a paid commercial license? People might pay to avoid GPL obligations while using the library.

A good one, yet go check the crowd with pitchforks and torches heading to Qt castle.

For the ones missing the context:

The Qt Company recently changed their publishing model and they provide only recent versions as (L)GPL. Thus Open source users have to migrate to Qt 6 or run an outdated version of 5.7, missing bugfix releases. Migrating to Qt 6 however isn't easy as some components aren't available for Qt 6, yet. Thus Open Source users requiring those modules can't go anywhere.

Aside from that the Qt company restricted access to their builds behind a registration wall.

And if you are willing to pay they created a pricing model, which isn't easy to understand and can become quite expensive, (233$/month/developer) and as it's a subscription you can't simply pay a license and go from there, but you have to subscribe and the moment you terminate the agreement you are forbidden from distributing your application any further with Qt.

Thus unhappy open source users and many users who at least claim they would like to buy for sensible cost, but can't afford.

Post reply on HN