And then you got some minor detail different from the compiled library and boom, UB because some struct is layed out differently or the calling convention is wrong or you compiled with a different -std or …
Which is exactly why you should leave it to the distros to construct a consistent build environment. If your distro regularly gets this wrong then you do have a problem.
Freedom 1 is dubiously fulfilled. I can modify it, sure, but I can't modify it when the program runs on my data for me.
Freedom 0 isn't fulfilled. I don't have the necessary input data to run the program myself.
(Of course the free software definition wasn't written for today's world, and the clarification below goes somewhat against my argument for Freedom 0. Feel free to pick this apart.)
That's a fair point, but I don't think anyone was stating it's free software. It doesn't need to meet the four freedoms to be open source, just the open source definition.
And yeah, you can even buy phones with a non-android linux pre-installed, e.g. from pine64. But they come with all kinds of "for early adopters" warning labels. Deservedly so, in my opinion.
Hope there's a timeline in which banking and corporate apps can run/be enrolled on that. If the current geopolitical mess from the USA isn't a good-enough reason to make it happen, I don't know what is.
I wonder how meson wraps' story fits with this. They used not to, but now they're throwing everything into a single repository [0]. I wonder about the motivation and how it compares to your project.
iodine automatically checks several modes a "simple" proxy on port 53 being one of them. If you're trying to sneak traffic through this kind of block, it is really the first tool to try.
reply