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

Knowing Lua, what advantages would I see if I tried using Toit instead? what disadvantages? how about eLua in particular? how about OpenResty with LuaJIT maybe? (I'm asking honestly to try to understand, including which level of "IoT" it's trying to target, which I still am lost at, even after trying to browse to toit.io - which only added to my confusion suddenly seeing "containers" and ESP32 mixed in the same sentence there.)

How about vs. ye olde Java VM running on your SIM-card? (!)




I notice that one of the differences is licensing. "The Toit compiler, the virtual machine, and all the supporting infrastructure is licensed under the LGPL-2.1 license."

Lua - MIT license eLua - MIT license OpenResty - BSD style licenses

Could LGPL license limit it's growth and popularity?


Maybe. Some developers have an aversion to the GPL family because of its “viral” nature. An MIT licensed project can be used in an LGPL one, but not the other way around. However, many projects are successful despite being GPL licensed. The Linux kernel is a major one, and Marlin FW (for 3D printers) has had its license used a few time to force Chinese 3D printer makers to release their source.

There’s a lot of misconceptions and FUD about the GPL family. So, as a clarifier: The LGPL does not restrict what the user can do with a product;[a] it only limits other developer’s. If another program wants to integrate Toit (or any LGPL based thing) into their product, they need to abide by the LGPL’s linking and open source[b] provisions. But a user can use an LGPL or GPL licensed product without restriction.

[a]: Despite what some developers may claim

[b]: It’s more “source available” but for the users only. Open source is just one way to fulfill that requirement


This captures the spirit of the gpl, while getting the actual terms of the LGPL wrong. All FSF licenses are about ensuring end user freedom, however in the context of the LGPL, it only restricts a developer if they are directly modifying the code of the library itself, in the case of toit that would be about modifications to the language itself. Footnotes would be more useful linking to actual information so here’s one [a]

For reference gcc is GPLv3 but that doesn’t obviously apply to inputs/outputs of the program that same reference is in the context of a language like toit. [b]

[a] https://www.gnu.org/licenses/gpl-faq.en.html#LGPLv3Contribut...

[b] https://www.gnu.org/licenses/gpl-faq.en.html#CanIUseGPLTools...


Unless the entirety of the built binary is free of the LGPL, then I can tell you without hesitation that the answer is _definitely_.


Short answer no, longer answer, LPGL is generally fine its a library license intended to enable usage, where only direct modifications to the underlying library need to be conveyed (triggered on distribution). Its not the same as GPL, AGPL where distribution are considered via aggregate work or access vectors respectively. IANAL, but I’ve spent plenty of time educating them ;-)


> Could LGPL license limit it's growth and popularity?

Not really. A lot of people license their code as BSD in the hope that some massive company picks it up and they either get famous or a fat consulting contract. In reality what we've seen e.g. Amazon do is just copy the idea for themselves and pay their internal engineers. GPL gives you more force, you can get money out of them to remove its restrictions.


> Could LGPL license limit it's growth and popularity?

No.


Out of the box containers OTA updates, multiple containers support, container reboot logic, garbage collected language (Lua is too), designed for not bricking the devices, etc... A lot of usual problems in IoT that you'd have to solve by yourself are already solved for you and you just need to focus on writing applications. I believe it's a very powerful abstraction for IoT developers.




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

Search: