gsliepen / tinc

a VPN daemon
http://tinc-vpn.org/
Other
1.93k stars 283 forks source link

[IDEA][CODE QUALITY] Use Gravity to help clean up code and avoid possible security issues #246

Closed unquietwiki closed 4 years ago

unquietwiki commented 4 years ago

I was recently made aware of Gravity, which is a lightweight C99 scripting VM to add object-oriented support & modern features. It's MIT-licensed, so it should be GPLv2-compatible, and it would open up further development to folks with experience in newer development environments.

Thoughts?

gsliepen commented 4 years ago

I've never heard of Gravity before. Moving to some niche language is not helpful, it will take a lot of time, and almost no developers are familiar with that language. It needs a VM, which makes me think it is more suitable as some embeddable scripting language like Lua than for programs that need to access the system directly like VPNs. If there really is a need to change languages, then I think only C++ or Rust would be candidates.

unquietwiki commented 4 years ago

Hey @gsliepen . I think the point of this is to be able to write newer code & still have it compile as C99; which I've been lead to believe is a requirement for a lot of these projects. Your point on Rust as an alternative is a good one: there's a lot of action there, and it'd offer code safety that'd be ideal for the project.

gsliepen commented 4 years ago

Gravity's compiler is itself written in C99, but the output of the Gravity compiler is not C99 code.

unquietwiki commented 4 years ago

Ah. Well, in that case, I can close this as something already considered, and folks can chime in on Rust or whatnot. BTW, I've enjoyed using the software over the years, and glad to see it's still around!