News for hackers. Stuff that matters.
Re:Show HN: Algorithm Cookbook in Rust by gerty on Monday June 19, 2017 @02:05PM (#14588986)
To add to the list, here's my rust-noob implementation of the Kalman filter.

https://github.com/rbagd/rust-linearkalman

Re:Show HN: Algorithm Cookbook in Rust by daniel_rh on Monday June 19, 2017 @05:07PM (#14590479)
GPL3 means it's not very reusable in any projects that aren't GPL3. Have you considered a BSD or MIT license? or CC0 if you want to get code reuse? Or at the very least LGPL2
Re:Show HN: Algorithm Cookbook in Rust by cyphar on Monday June 19, 2017 @06:24PM (#14590903)
Maybe that's what they want. Personally I use GPLv3 for any project I can, because my priority is user freedom and not code reuse.
Re:Show HN: Algorithm Cookbook in Rust by legulere on Tuesday June 20, 2017 @09:45AM (#14594523)
Which of the four freedoms (ignoring that only freedom #0 and #2 apply to users) is violated by using more liberal licenses like MIT or CC0? Freedom #0 is clearly violated by GPL projects: GCC for years tried to be prevent to be run as a library or in combination with other programs. Running ZFS or the better proprietary graphics drivers on Linux is a bit questionable legally. GPL being incompatible with app store rules kind of breaks freedom #2 and #3.
Re:Show HN: Algorithm Cookbook in Rust by cyphar on Tuesday June 20, 2017 @10:08AM (#14594730)
> Which of the four freedoms [...] is violated by using more liberal licenses [...]?

None of them [which, as you probably know, goes without saying because they're both free software licenses]. The problem is that a project using a lax/pushover license is that the project can be used as a tool for violating user freedom. For examples of this, see the PlayStation and other such products which were developed thanks to the existence of free software under lax/pushover licenses.

As an aside, the thing that personally made me care about the prolonged effects of copyleft is that I realised that if I wanted to contribute to a world without proprietary software, every non-copylefted program that I wrote was potentially acting against my intentions. You might not see it that way (and I didn't see it that way for a long time), but that's why I made my decision.

> Freedom #0 is clearly violated by GPL projects: GCC for years tried to be prevent to be run as a library or in combination with other programs.

That is simply not true, and is a non-sequitur to boot. It _is_ true that the GNU project decided to make it hard to create proprietary modules [or otherwise external modules] for GCC, but nothing stopped a user [in principle] from doing either of those things. The GPL doesn't require a project to make themselves usable as a library.

> GPL being incompatible with app store rules kind of breaks freedom #2 and #3.

But "app stores" are acting against user freedoms, which is why you can't distribute GPLv3 software [without additional permissions] in most "app stores".

In fact, I would argue the GPL is doing its job well here. It's preventing the re-distribution of free software in a way that harms user freedoms. That's sort of the whole point. Just because you don't care about how "app stores" treat users doesn't justify claiming that copyleft is acting against users here...

Re:Show HN: Algorithm Cookbook in Rust by adrianN on Tuesday June 20, 2017 @08:05AM (#14593876)
Consider using AGPL for anything that might be run on a server somewhere.
Re:Show HN: Algorithm Cookbook in Rust by gerty on Monday June 19, 2017 @07:15PM (#14591124)
Thanks, that's a fair point. I do value user freedom and also come from the R language where GPL rules among packages. It's true though that Rust crate culture leans much more to MIT.

I think GPL3/MIT as a dual license should be a decent compromise.

Re:Show HN: Algorithm Cookbook in Rust by cyphar on Tuesday June 20, 2017 @06:02AM (#14593301)
> It's true though that Rust crate culture leans much more to MIT.

This is a fairly worrying trend I've noticed in new languages. In general it seems that they are systematically creating ecosystems where copyleft is much less modularised than in other (older) languages.

For example, in Go and Rust, LGPL is effectively as strong as GPL because it's non-trivial to make packages/crates replaceable for an end-user with a binary. This results in a general distaste towards LGPL even though it's objectively _the language's fault_ that LGPL isn't as friendly as it is in C. This causes everyone to license things as Apache or MIT (or _maybe_ MPLv2) and as a result the ecosystem of copylefted software is reduced.

Re:Show HN: Algorithm Cookbook in Rust by burntsushi on Tuesday June 20, 2017 @07:13AM (#14593583)
> and as a result the ecosystem of copylefted software is reduced

You might be worried, but I'm not. In fact, I'd say that it's a magnificent trend. The less copyleft software, the better.

Re:Show HN: Algorithm Cookbook in Rust by cyphar on Tuesday June 20, 2017 @09:54AM (#14594608)
> The less copyleft software, the better.

All technical discussions will end in license arguments. Put simply, I don't agree (obviously). What I don't understand is this viceral hatred of copyleft to the point where you will make even weak forms of copyleft unfriendly in a language ecosystem. Aren't languages meant to be agnostic to license arguments...

At the end of the day, I don't care either way. I make all of my standalone Go and Rust code GPLv3. It's just a shame that people are willing to stunt their own languages just to make a point about licensing.

Re:Show HN: Algorithm Cookbook in Rust by burntsushi on Thursday June 22, 2017 @08:21AM (#14611688)
> Put simply, I don't agree (obviously).

Right. That's reasonable. The point of my comment was to express disagreement with something that seems obviously true to you. I'm happy about the decrease in copyleft for its own sake. I dislike copyleft because I dislike intellectual property, on which, copyleft relies upon. (There's no need to debate this further. I've done it many times already.)

> It's just a shame that people are willing to stunt their own languages just to make a point about licensing.

You say "stunt," I say "free." Mischaracterizing this into a group of people indulging in some trivial holy war is absurd.

Others are more practical than me. Languages are permissively licensed to drive adoption. Regardless of the theory of copyleft, and regardless of rationality, people are afraid of it and stay away from it.

Re:Show HN: Algorithm Cookbook in Rust by cyphar on Friday June 23, 2017 @04:56AM (#14617834)
> I dislike copyleft because I dislike intellectual property, on which, copyleft relies upon.

I promise I won't debate this further, I just wanted to say that I also dislike the concept of intellectual property. The reason I like copyleft is because it takes the draconian machinery of copyright and puts it to work protecting users.

Yes, it inconveniences developers, but I think users are more important. You wouldn't prioritise the "right to jerry-rig" of bridge architects over the people who use their bridges.

> You say "stunt," I say "free."

I'm not sure how making it harder to change out parts of a compiled program makes the language "more free". It's a feature that's missing.

> Languages are permissively licensed to drive adoption.

I don't disagree with that (though I think compiler _implementations_ should be copylefted). But that's not the point, my point was that if you can't replace parts of a compiled program then LGPL loses its appeal.

Re:Show HN: Algorithm Cookbook in Rust by burntsushi on Friday June 23, 2017 @08:12PM (#14623700)
> I just wanted to say that I also dislike the concept of intellectual property.

Right. I understand the "copyleft fights against IP" argument. :-)

> I'm not sure how making it harder to change out parts of a compiled program makes the language "more free". It's a feature that's missing.

Really? Are we really not above misappropriating words? My point wasn't to lay claim to the word "freedom." My point was to say how silly it is to bake our biases into our descriptions of the world around us. The various perspectives on freedom are well covered by the Internet at large, and extend far beyond the realm of IP.

Re:Show HN: Algorithm Cookbook in Rust by int_19h on Tuesday June 20, 2017 @02:01AM (#14592501)
What would be the point of dual licensing GPL3 and MIT? So far as I can tell, MIT is a strict subset of GPL3, and any GPL3 project can use it anyway.
Re:Show HN: Algorithm Cookbook in Rust by Santosh83 on Tuesday June 20, 2017 @08:02AM (#14593850)
Releasing it under MIT too would allow it to be used in closed source software projects. GPL does not allow that use case.
Re:Show HN: Algorithm Cookbook in Rust by legulere on Tuesday June 20, 2017 @09:46AM (#14594537)
I think the point int_19h meant is that you don't need to additionally license software under GPL when you already license it under MIT