3 ms·
They didn’t open source the DB, just the binaries.
by elteto 3y ago
They didn’t open source the DB, just the binaries.
- remram 3y agoHow can you "open source" something that doesn't include the sources?
- Thorrez 3y agoYeah, they didn't open source anything. They just made it free.
- elteto 3y agoAh! Yes, but not quite! It’s not freeware. The binaries are technically open sourced, you can do with them as you please within the confines of the Apache license.
- sitkack 3y agoI take that means reverse engineer, decompilation and extracting and reusing any bytecode you want.
- dunham 3y agoIt seems like it, which is a bit of a change in direction for them. I've poked at the data from the clojure side in the past (inspecting objects), just to learn how it works, but the license was strongly worded against reverse engineering. I've also taken a look at generated clojure bytecode. It looked like the codegen is pretty straightforward with minimal optimization. It looked like it wouldn't be too hard to reverse with maybe a little bit of backtracking (essentially a parsing problem, I believe). You'd then need a separate step to redo the macros. It sounded like it might be a fun little project (just to see if it can be done and try my hand at decompiling), but I would have wanted to decompile datomic to make it interesting and the license precluded that.
- elteto 3y agoThat’s my take as well. It is definitely an odd license for a binary, I’ll grant you that.
- remram 3y agoThe Apache license says I can do things with the source of it. > You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and **in Source or Object form**, provided that (...)
- jolux 3y ago…only if you have the source
- croes 3y agoThat's parent's point, they didn't. They only made the binaries available under the Apache 2.0 license
- elteto 3y agoWell, _technically_ you are now free to modify the binary and redistribute the result as per the Apache 2.0 license. That’s different than giving something as freeware, which would not allow/cover modification/redistribution.
- xmcqdpt2 3y agoWhich actually does make a difference for JARs because the bytecode is portable and modifiable, not trivially so but definitely way more easily than native code.