Hacker News new | past | comments | ask | show | jobs | submit login
Fair-Code Automation with n8n.io (davidfield.co.uk)
132 points by lebaux 55 days ago | hide | past | favorite | 38 comments

When talking about an open-source IFTTT please always consider Node-Red. I host four instances of it around my life and it's my go-to solution for almost everything.


Recently started using Node-RED with Home Assistant and I’m really digging it so far. Modeling flows is super intuitive and quick, and it can do so much (even acting as a web server for a custom dashboard).

My understanding from previous threads is that Node-Red focuses on IoT where n8n/huginn focuses on the other things IFTTT does, not that either is intentionally exclusive.

Four instances?

What kind of tasks are you using them for?

Want a breakdown, ok.

My server, my raspberry pi in my house, my desktop and my phone all run an instance, with my server hosting a Mosca MQTT which they all use to send messages between.

My server runs anything web-facing, so the web-hooks and random API projects. The PI does things like Wake-on-lan the Desktop, working with Alexa (https://flows.nodered.org/node/node-red-contrib-alexa-home) and acting as a pi-hole. The Desktop listens for things like shutdown commands (from Alexa) and other commands to do things.

All together Node-Red just gives me the flexability to do everything at the "right" scope. The project is also cute as hell, just look at knolleary's response here: https://github.com/node-red/node-red/issues/719

> and my phone

you are running it with termux?

I have 10 setups running now I think, may have missed some too.

1- Homeassistant on ODroidC4 2- Raspberry Pi controlling my chicken coop in barn 3- Docker 1, not sure what it does anymore 4- Docker 2, used to run chicken coop, has a bunch of legacy stuff I don't want to move, like my discord firewall connection to block/allow kids Internet and kids pi-hole 5- Docker 3, fresh setup to standardize my data collection via MQTT to influxDB and Ignition Maker Edition 6- Raspberrypi at cousins restaurant, monitors temps, send alerts to discord and POS printers, runs the door dingers out speakers, different per door and volume changes by time of day/day of week 7- Docker on resturant camera server, don't think it does anything really 8- RaspberryPi at resturant in the shed, watches the freezer temp and building temp, was going to watch power and the door also, never got around to it 9- Raspberrypi at Buddies shop, watches his boiler temps 10- Docker at buddies house, collects the shop boiler data and pushes to influxdb for Grafana, I think, I may have bypassed that part of it

All these are running NodeRED, why?

Sorry, I apparently can't format very well on n my phone

The Fair Code site doesn't really explain how it works, but the Commons Clause site[1] has an FAQ.

I agree about the problem: it's hard to run a business supporting a project if a competitor can come along and resell their code without any compensation.

The commons clause says a company can't sell "a product or service whose value derives, entirely or substantially, from the functionality of the Software."

I like the idea that a company could create a plugin that works with existing open source software and then sell that. I like the idea of creating a framework that lots of people can add plugins for, because I could make my living offering a few handy plugins for it and I don't have a problem if others are also making a living selling their own plugins. In principle, it makes a lot of sense.

I'm not clear if it's kosher for me to write product X that's using a lot of Apache licensed software, but to which I've added the Commons Clause.

And it generally seems problematic... Suppose a company sinks a decent amount of effort into some widgets they add to a commons clause licensed software, but only 10% of customers really use the widgets. Are they in violation of the license?

[1]: https://commonsclause.com/

[2]: https://fosspost.org/fair-code-open-source/

My opinion has always been that restrictions on commercial usage is not "open source" for the simple reason that "commercial" is so hard to define. I always sigh when I see the Creative Commons "NonCommercial" license, I understand where the concern comes from, but in my mind you either embrace the fact that you're releasing something, or you simply don't.

This description of the commons clause really irks me:

> if you just change the software name or few parts in the code, then you are not allowed to commercially use it without contacting the authors. However, if you modify it to a larger extent, then you are allowed to commercially use it without contacting the original developers.

Relative terms like "larger extent" scares away lawyers, and even anyone remotely used to legalese. You don't want more uncertainties and subjective classification than necessary when you're talking about something this important.

What then happens is: many of the projects are not picked up by competitors or corporations, they're not improved, and they die out, just like a completely closed source, proprietary project would have.

Open source is a way to boost the collaboration and success chance of your project. I think you either go with it, or you don't. I don't see that this solves any problems in such a way that it's worth it.

Thanks a lot for creating this tutorial!

I am the creator & CEO of n8n. If anybody has any questions simply ask. Happy to answer!

Your license, as I can read it, intends to prohibit profiting from your software by either (1) including it in their product, or (2) hosting it and selling its functionality. So for example, if a user wants to have some kind of Spotify import feature built into his online music-management service, he is not permitted by this license to build n8n into his paid service. (Correct me if I am wrong on this interpretation.)

But I think you will get a lot of demand for including this product in various workflows in an integrated way. Are you planning on releasing an API license, or some such?

Yes, that is correct. If you use n8n as a backend or part of your backend that is totally fine. What is not permitted is to use n8n code to offer some kind of automation service.

Very reasonable and generous to allow someone to generate revenue with your tool as a backend component as long as they’re not offering a verbatim automation SaaS service with a clone of your code. Kudos and thank you.

We actually want that people use n8n as a backend and want to improve that further in the future and write more about it. We do not have to make money with literally everybody that uses our code. But if a good way to describe the service (or module, ...) is "automate X" then a license would be required. That we think is fair and makes sure that n8n is long term sustainable. And after all, is that also in the interest of the people/companies building on top of us.

I'm currently using Integromat for some personal stuff, but I'd like to self-host so I came across n8n. All I need is a Google Sheets trigger, which I do see is in the works [0], then I'll probably have a go at it.

[0] https://github.com/n8n-io/n8n/pull/1154

Google services are sadly a little bit complicated to create Trigger-Nodes for. Much more than ANY other ones. Some of the fun things are that they require to verify the domain you use as callback URL (which so makes it for example impossible to use our tunnel) or that the webhooks expire?!?! Anyway, I hope we will have it ready soon and you can so start using n8n!

I see, yes I was surprised Google didn't have any simple to use triggers for sheets.

That is actually just the start. Wait till you want to integrate Google Services into your app/service and you require the wrong scopes. Then suddenly it is not just complicated it also gets expensive as they require a security audit which costs between $15k and $75k.

Hi, I really don’t want to sound lazy but might as well ask the creator: where does n8n cloud fit compared to Pipedream or Autocode? I use pipedream a lot but curious if n8n is an alternative or solves something else.

Some of the advantages of n8n.cloud compared to Pipedream/Autocode are (disclaimer do not know any of them too well): - Easy to use but powerful even without coding skills (but even more possibilities if you can code) - Build complex workflows easily and fast via a node-based editor - Split data into different branches and merge them again - No lock-in (you can take your workflows anytime and run n8n yourself where ever you want) - Peace of mind that if the company (n8n) would ever go out of business you would not lose all your work as you would still be able to run it yourself - Amazing community that helps each other and improves n8n on a daily basis

For me personally, the value of IFTTT is not the automation/rules. It's the API integrations. Some of the inputs/outputs have horrifically complex APIs that I do not want to deal with. For that reason alone, I pay IFTTT their minimum $2/month.

What does everyone use IFTTT-style services for? Up until about a month ago I had had an account since the beta, but never really found a use for it beyond something like:

"Hey, Honey! Watch the lights change when it rains!" ¯\_(⌣̯̀⌣́)_/¯

Personally, the only IFTTT I have is the Django releases RSS feed tied into my personal todo list.

However professionally, things like Zapier are very popular. Our marketing and operations teams love them because they can build semi automated processes without time from engineers. Often it's connecting spreadsheets, ticketing systems, customer support systems, etc.

It feels nice to have these things under the control of engineering teams, but really it's unlikely they'll add value, and I think these services are pretty handy in so many cases.

n8n and Node-RED are both really neat! Over the break I built a little project that takes a different approach; for me the schleppy part of API integration is not usually the code but it's the infrastructure (where to host for cheap, with a simple deploy pipeline, maybe scheduled execution, etc). https://www.tabbydata.com/glue is a little thing I built so that I don't need to think about those things again.

Have you tried Autocode [0] for these use cases? I think you'll find it provides exactly what you need and more. Disclaimer: am founder.

[0] https://autocode.com/

Huginn [0] is also very powerful, free, and open source. You can run it locally, in a VPS, or on Heroku for free.

I pay for IFTTT Pro, but I still use Huginn for things that IFTTT can't do, and I highly recommend it.

I've tried Node-Red and while it can definitely do the job, I couldn't get along with it.

0. https://github.com/huginn/huginn

I hadn't heard of rocket.chat before but it looks very cool. I integrated it into Pipedream.com based on your post as it sounds like there are many compelling integration use cases.

Example - https://pipedream.com/@/p_G6C6akB/

Is this like Node-Red?

N8n.io is not open source. It even says so on the landing page.

Edit: the article has since been updated

Yes that is correct. It is not "OSI approved open-source" it is rather https://faircode.io/ licensed instead which is similar but not the same.

"Apache 2.0 with Commons Clause"

They are free to choose whatever license works for them but this reference to Apache 2.0 is problematic.

Why is it problematic to reference Apache 2.0?

I am curios as I read some resources about various OSS licenses and after I was thinking that Apache 2.0 license is a good one.

It's not problematic to reference Apache 2.0, it's a fine license. I assume what berkay is talking about is this wording of "<existing license> with Commons Clause" - e.g. the Apache foundation has explicitly requested that this not be done (which the creators of the Commons Clause conveniently ignore), because it changes what the license means a lot and sounds like it's an official variant of the license. Apache only wants if any "Apache 2.0 with addons" licenses if they give more rights to the recipient, not less.

ah got it. thanks for the clarity.

I remember that I read some things about mixing Apache 2.0 with other restrictions (like Commons Clause in this context) and a lot of debates about the wording of such mix.

We've updated the title above to match.

The article doesn't claim it is, submission has just changed the title from:

> Fair-Code Automation with n8n.io

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