7 ms·
I could kind of see things either way. Is this like not providing the source code, or is it like not providing the IDE, debugger, compiler, and linter that was
by gary_0 3y ago
I could kind of see things either way. Is this like not providing the source code, or is it like not providing the IDE, debugger, compiler, and linter that was used to write the source code? (Also, it feels a bit "looking a gift horse in the mouth" to criticize people who are giving away a cutting-edge model that can be used freely.)
- monocasa 3y ago> I could kind of see things either way. Is this like not providing the source code, or is it like not providing the IDE, debugger, compiler, and linter that was used to write the source code? Do the engineers that made this hand edit this file? Or did they have other source that they used and this is the build product? > (Also, it feels a bit "looking a gift horse in the mouth" to criticize people who are giving away a cutting-edge model that can be used freely.) Windows was free for a year. Did that make it open source?
- godelski 3y ago> Do the engineers that made this hand edit this file? Or did they have other source that they used and this is the build product? Do any open source product provide all the tools used to make software? I haven't seen the linux kernel included in any other open source product and that'd quite frankly be insane. As well as including vim/emacs, gcc, gdb, X11, etc. But I do agree that training data is more important than those things. But you need to be clear about that because people aren't understanding what you're getting at. Don't get mad, refine your communication. > Windows was free for a year. Did that make it open source? Windows didn't attach an Apache-2.0 license to it. This license makes this version of the code perpetually open source. They can change the license later, but it will not back apply to previous versions. Sorry, but this is just a terrible comparison. Free isn't what makes a thing "open source." Which let's be clear, is a fuzzy definition too.
- monocasa 3y agoWhat I'm asking for is pretty clear. The snapshot of code and data the engineers have checked into their repos (including data repositories) that were processed into this binary release. > This license makes this version of the code perpetually open source. It doesn't because they didn't release the source. There's nothing stopping me from attaching an Apache 2 license to a shared library I never give the source out to. That also would not be an open source release. There has to be actual source involved.
- jncfhnb 3y agoIf this ML algorithm were not open source, it would be illegal for you to release it yourself as Apache 2.
- monocasa 3y agoWhat exactly is stopping anyone from releasing a binary as Apache 2 and never releasing the source?
- jncfhnb 3y agoYou’re welcome to fuck around and find out. Go release llama2 under Apache 2. You’re saying that’s fine right? The answer to your question is that code stored as a binary is not different from code stored as text. Pickled models are code.
- monocasa 3y ago> You’re welcome to fuck around and find out. Go release llama2 under Apache 2. You’re saying that’s fine right? You're missing my point. Obviously you can't release someone else's IP under whatever license you see fit. You can release your own binary under Apache 2. Doing so without releasing the source doesn't make it open source despite being an open source license. > The answer to your question is that code stored as a binary is not different from code stored as text. Pickled models are code. I'm not saying it's not code; I'm saying it's not source.
- lmm 3y ago> Do any open source product provide all the tools used to make software? I haven't seen the linux kernel included in any other open source product and that'd quite frankly be insane. As well as including vim/emacs, gcc, gdb, X11, etc. BSD traditionally comes as a full set of source for the whole OS, it's hardly insane. But the point is you don't need those things to work on Linux - you can use your own preferred editor, compiler, debugger, ... - and you can work on things that aren't Linux with those things. Calling something "open source" if you can only work on it with proprietary tools would be very dubious (admittedly some people do), and calling a project open source when the missing piece you need to work on it is not a general-purpose tool at all but a component that's only used for building this project is an outright falsehood.
- godelski 3y agoBut what's proprietary here? That's what I'm not getting from the other person. You have the algorithm. Hell, they even provided the model in pytorch/python. They just didn't provide training parameters and data. But that's not necessary to use or modify the software just like it isn't necessary for nearly any other open sourced project. I mean we aren't calling PyTorch "not open source" because they didn't provide source code for vim and VS code. That's what I'm saying. Because at that point I'm not sure what's the difference between saying "It's not open source unless you provide at least one node of H100 machines." That's what you kinda need to train this stuff.
- lmm 3y ago> But what's proprietary here? That's what I'm not getting from the other person. You have the algorithm. Hell, they even provided the model in pytorch/python. They just didn't provide training parameters and data. But that's not necessary to use or modify the software just like it isn't necessary for nearly any other open sourced project. It's necessary if you want to rebuild the weights/factors/whatever the current terminology is, which are a major part of what they're shipping. If they found a major bug in this release, the fix might involve re-running the training process, and currently that's something that they can do and we users can't. > I mean we aren't calling PyTorch "not open source" because they didn't provide source code for vim and VS code. You can build the exact same PyTorch by using emacs, or notepad, or what have you, and those are standard tools that you can find all over the place and use for all sorts of things. If you want to fix a bug in PyTorch, you can edit it with any editor you like, re-run the build process, and be confident that the only thing that changed is the thing you changed. You can't rebuild this model without their training parameters and data. Like maybe you could run the same process with an off-the-shelf training dataset, but you'd get a very different result from the thing that they've released - the whole point of the thing they've released is that it has the weights that they've "compiled" through this training process. If you've built a system on top of this model, and you want to fix a bug in it, that's not going to be good enough - without having access to the same training dataset, there's no way for you to produce "this model, but with this particular problem fixed". (And sure, maybe you could try to work around with finetuning, or manually patch the binary weights, but that's similar to how people will patch binaries to fix bugs in proprietary software - yes it's possible, but the point of open source is to make it easier)
- deleted 3y ago[deleted]
- gary_0 3y agoNo, but if the Windows binary code was made available with no restrictive licensing, I'd be quite happy, and the WINE devs would be ecstatic. Sure, the source code and build infrastructure would be nicer, but we could still work with that.
- monocasa 3y ago'gary_0' being happy with the license terms isn't what defines 'open source'. I'm fairly happy with the license terms too. They're just not open source. We dilute the term open source for the worst if we allow it to apply to build artifacts for some reason.
- gary_0 3y agoWe were talking about "looking a gift horse in the mouth", as in it's still a positive thing regardless of the semantic quibbles about open source. Nobody would argue that a hypothetical openly licensed Windows binary-only release is "open source" and I'd appreciate it if you read my comments more charitably in future. Source code licenses are naturally quite clear about what constitutes "source code", but things are murkier when it comes to ML models, training data, and associated software infrastructure, which brings up some interesting questions.
- monocasa 3y ago> We were talking about "looking a gift horse in the mouth", as in it's still a positive thing regardless of the semantic quibbles about open source Your gift horse in the mouth comment was visibly an aside in the greater discussion being enclosed in parenthesis. > Nobody would argue that a hypothetical openly licensed Windows binary-only release is "open source" and I'd appreciate it if you read my comments more charitably in future. That's why I'm using it as an example metaphor in my favor. It's clearly not open source even if they released it under Apache 2. It's not what their engineers edit before building it. > Source code licenses are naturally quite clear about what constitutes "source code", but things are murkier when it comes to ML models, training data, and associated software infrastructure, which brings up some interesting questions. I don't think they're all that murky here. The generally accepted definition being > The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. Is this the form of the work that Mistral's engineers work in? Or is there another form of the work that they do their job in and used to build these set of files that they're releasing?
- idonotknowwhy 3y agoWhat about this project? https://github.com/MiSTer-devel/PSX_MiSTer https://github.com/MiSTer-devel/PSX_MiSTer Only one man in the world of capable of creating or editing this code, not it's here. Is it really open source of Robert doesn't provide his brain too?
- monocasa 3y agoI'm not asking for the engineers brains, I'm asking for more or less what's sitting in the IDE as they work on the project. Robert has provided that there. Mistral has not. As an aside, I'm more than capable of editing that code; I've professionally worked on FPGA code and have written a PS1 emulator. Taking that (wonderful looking code) and say, fixing a bug, adding a different interface for the cdrom, porting it to a new FPGA are all things I'm more than capable of.
- godelski 3y agoI'd actually say that including the training data would be like providing the IDE/debugger/compiler rather than the model/checkpoint being analogous. If I hand you Signal's source code you can run it, use it, modify it, etc. All similar characteristics to what is provided here. What they didn't provide to us is how they created that code. You couldn't create that software from scratch by just having these and that's true for any open source project. But I wouldn't say training data is as good as an analogy to peering in the minds of engineers, because it is an important part to getting the final product and analyzing it.