Live data from Hacker News

Open source chess developers warn about a commercial engine based on Stockfish

lichess.org

121–130 of 136 posts

Re: Open source chess developers warn about a commercial engine based on Stockfish

#121
post #119

Can somebody explain to me how NN is used in Stockfish? I always assumed that some heuristic rules are used by Stockfish to evaluate the position, and I think this was actually the case not that long ago. So, does this mean heuristics are now being completely replaced by NN evaluations in Stockfish, all the prior work being completely thrown away? In fact, isn't the position evaluation pretty much the only thing that…

There's an explanation here: https://www.chessprogramming.org/Stockfish_NNUE

It uses clever integer arithmetic in the neural network, so you don't need a monster GPU to get good performance. I believe as of now it's using both the nn and the classic heuristic-based system for different situations.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#122
post #94

Earlier quoted context omitted.

AGPL?

Ah, you mean _free_ software. Why not be more specific and say that in the first place?

I don't mean anything, I jumped into this with an example and Free Software is Open Source Software, I gave an example of OSS (that also happens to be FS). I didn't make the first comment so reply accordingly. You are the one starting a semantical discussion.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#123
post #30

Earlier quoted context omitted.

It's GPL: its not attributed and the binary is available for download while the code isn't open sourced.

Code is open source (given when requested as per GPL [1]) but not the net weights. I don't think under GPL the net weights have to be open sourced. [1] https://blog.stockfishchess.org/post/643239805544792064/stat... There seems to be confusion on what the issue is.

IANAL, but I don't think it's clear that the net weight can be keep secret. From https://www.gnu.org/licenses/gpl-3.0.html

> “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#124
post #97

Earlier quoted context omitted.

a) AGPL (and other Free Software licenses) are also Open Source licenses, Open Source is not "BSD or MIT" b) the comment you originally reply to didn't even claim anything about licenses "requiring" links to the source, just that doing so is one quite clear way of attributing.

Would you please read exactly what I wrote, and not go and interpret things and then make claims? About (a): I wrote "usually equates", not "is by definition the same as BSD and MIT". Do you not understand, that this means "most people think of MIT or BSD licenses, when they hear open source"? So your point (a) is does not tell me anything I do not know, nor does it somehow "disprove" anything I wrote. You misunderst…

There's nothing incorrect or even controversial about what you're saying. It could be your tone, but I suspect that if you share these opinions during peak west coast hours, e.g. 10am - 7pm pacific time, you're likely to get more upvotes and a more receptive response.

There is an odd pattern I've observed where my opinionated comments get a lot of upvotes during the day and evening, and then I wake up the next day to find they've been nearly reversed overnight. There's some kind of ideological split in the the US tech scene and the rest of the world.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#125
post #119

Can somebody explain to me how NN is used in Stockfish? I always assumed that some heuristic rules are used by Stockfish to evaluate the position, and I think this was actually the case not that long ago. So, does this mean heuristics are now being completely replaced by NN evaluations in Stockfish, all the prior work being completely thrown away? In fact, isn't the position evaluation pretty much the only thing that…

There's an explanation here: https://www.chessprogramming.org/Stockfish_NNUE It uses clever integer arithmetic in the neural network, so you don't need a monster GPU to get good performance. I believe as of now it's using both the nn and the classic heuristic-based system for different situations.

It doesn't answer any of my questions, though. In the end, it doesn't matter how exactly that NN works, in terms of architecture, weights, framework, etc. Given there is a common API, one position evaluation module can be used as a drop-in-replacement for some other implementation of position evaluation module. I mean, it kinda made sense that Leela was a different project, because it wasn't clear back then if a community will be able to train an NN which can surpass heuristics-based engine, and heuristics was at the heart of Stockfish. But if it turns out to be that heuristics-based approach has lost to NN, it isn't that clear anymore why these have to be 2 separate projects. At least, in terms of the rest of the engine.

> I believe as of now it's using both the nn and the classic heuristic-based system for different situations.

That's what I'm actually curious about. How does it combine these 2, precisely?

Edit: actually, reading more carefully the "Hybrid" section it kind of answers the last question. But still makes me wonder if the rest of the 2 engines cannot be combined.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#126

Earlier quoted context omitted.

Would you please read exactly what I wrote, and not go and interpret things and then make claims? About (a): I wrote "usually equates", not "is by definition the same as BSD and MIT". Do you not understand, that this means "most people think of MIT or BSD licenses, when they hear open source"? So your point (a) is does not tell me anything I do not know, nor does it somehow "disprove" anything I wrote. You misunderst…

There's nothing incorrect or even controversial about what you're saying. It could be your tone, but I suspect that if you share these opinions during peak west coast hours, e.g. 10am - 7pm pacific time, you're likely to get more upvotes and a more receptive response. There is an odd pattern I've observed where my opinionated comments get a lot of upvotes during the day and evening, and then I wake up the next day to…

Huh, interesting observation, will keep that in mind, thank you.

Basically people build their own bubbles everywhere. If you are the one to poke it, you better prepare for the backlash, I learn once more.

I had a hunch initially though, that I would get downvoted for the attempt to distinguish between free and open source though, just like the previous times. However, if I start to self-censor, just because of downvotes, ... imagine if everyone did that. Opinions would go unheard. It is a bad trend. People need to speak up and voice their opinions.

I have also noticed, that if one makes a comment, that is purely positive about something, you are much more likely to get upvoted, but as soon as you criticize anything, you run the risk of being massively downvoted ("Please stay positive!"), especially when it is about open source vs free software or when it is about javascript. Perhaps these populations are just bigger and more people will take offense or they are especially touchy about having something criticized.

Anyway, I should not care too much about random downvotes on HN. There are more productive ways to spend my day.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#127
post #102

Earlier quoted context omitted.

I was simply pointing out the fact that your claim that '[u]sually "open source license" equates to MIT license and BSD licenses' is simply completely untrue. There are no 'might's or 'usually' here. Both Open Source and Free Software licenses have very clear criteria. There are no licenses which are 'usually' one or the other. They are mostly strictly equivalent.

Well then, how about you look at the next 10-20 repositories, which interest you and which are labeled "open source" and see what their licenses are? Then you will get a picture of what is "usual". You can also increase N, if you want more indication.

In the spirit of your question I did a quick survey, Apache 2 is the winner by a landslide...

Re: Open source chess developers warn about a commercial engine based on Stockfish

#128
post #113

Earlier quoted context omitted.

> this means "most people think of MIT or BSD licenses, when they hear open source" I'd strongly disagree with that too. > Open source does not contain the same garantees for freedoms and therefore cannot be a superset of free software. It is the other way around. Free software makes sure that open source requirements are met and adds requirements on top of that, to make sure user freedoms are preserved. Free Softwar…

You may disagree with me of course, but this kind of understanding of OSS is very very common. Most people, even software developers do not even know there is a difference between free and open source software. And as I have suggested before in another comment: Consciously check the licenses of the next 10-20 repos (or more, if you have time or motivation), which are labeled "open source" and you will very quickly se…

"check the licenses of the next 10-20 repos (or more, if you have time or motivation), which are labeled "open source" and you will very quickly see what many people think open source license to mean."

That proves no such thing.

You might as well say "check the programming language used on the next 10 or 20 repositories and you will very quickly see what many people think open source programming language to mean."

I only ever licence my own stuff as gpl or the closest cc analog for projects with a physical component, and in almost all conversations, with people in and out of any IT related field or hobby, I call it all open source.

The special meanings for "open source" and "free" are definitions a very few people have come up with as a way to give a label to a distinction which exists so that they can deal with that distinction, but no one I know ever uses those terms in that way in any ordinary conversation or even writings. Even professional writers writing news articls, most frequently use the term open source to apply to anything that isn't closed source. Even they might only say "free" to mean without monetary cost.

The special definitions are almost like a document-local definition. They aren't even jargon. Meaning, you can't even say that everyone in a given field means those definitions when they say those words. The set for which that assumption would be true or at least plausible is only everyone in one or two organizations.

Re: Open source chess developers warn about a commercial engine based on Stockfish

#129
post #16

Many commenters are missing that the issue is not that an Open Source project was repackaged as a commercial project, but that the open source origin has been hidden.

> Many commenters are missing that the issue is not that an Open Source project was repackaged as a commercial project, but that the open source origin has been hidden. That is not what Joost VandeVondele, current maintainer of the Stockfish project, posts: > Recently, ChessBase has started distribution and sales of the Fat Fritz 2 chess engine. This chess engine is a Stockfish derivative, with a few lines of code mo…

How is this not exactly what the parent comment says?

Re: Open source chess developers warn about a commercial engine based on Stockfish

#130
post #67

Are neural net weights code or configuration settings? Are email connectivity parameters code or configuration settings? How would a judge distinguish the two?

The analogy of "email connectivity parameters" is way too simplistic. Neural network weights are a lot more like VHDL code on FPGAs that enable/disable individual gates. The NN engine is just a substrate. It can't do anything on its own, and what it can do is vastly altered by the specific database of weights that are applied. Additionally, as a proportion of what makes a NN system work, the weights are the vast, phy…

It sounds more like the weights are data like an image, and the engine is the image viewer.

Or like the bitstream to an fpga not the vhdl.

vhdl really is source, so it comes down to if nn weights really are more like vhdl or more like the bitstream.

It seems like the closest analog to a source for nn weights is training data and scripts.

In that case, it seems fine to license the weights seperately, just like the source to an image viewer or audio player, yet not some image that is displayed in it.

I'm not so sure about shipping them together under a single name as a single product. Maybe that act causes them to be obligated to provide the source to generate the nn weights?

I would love that, not because I value their data but because it would mean it was only their own attempt to mis-represent that now makes them have to give away their store. If they had simply packaged up their fork of Stockfish plus proprietary nn model honestly and in good faith, there would be no problem. Maybe they couldn't get $99 for that from very many people but, oh well!

Post reply on HN