Free Software

1622 readers
22 users here now

What is free software?

Free software is software that respects the 4 software freedoms. The 4 freedoms are

Please note: Free software does not relate to monetary price. Free software can be sold or gratis (no cost)

Rules:

  1. Please keep on topic
  2. Follow the Lemmy.zip rules
  3. No memes
  4. No "circle jerking" or inflammatory posts
  5. No discussion of illegal content

Please report anything you believe to violate the rules and be sure to include rhetoric on why you think it should be removed.

If you would like to contest mod actions please DM me with your rational as to why you feel that the relivant mod action should be reversed. Remember to use rhetoric and to site any relevant sources. You will only get one chance to argue your point and continued harassment will result in a ban.

Overall this community is pretty laid back and none if the things list above normally are an issue.

founded 2 years ago
MODERATORS
1
2
3
4
5
6
7
8
submitted 1 month ago* (last edited 1 month ago) by TootSweet@lemmy.world to c/freesoftware@lemmy.zip
 
 

So, I'm writing a piece of software (in Go). Specifically, a domain-specific language (DSL) for making 3D models. (Roughly speaking, what I'm going for is that what I'm building is to Blender as OpenSCAD is to FreeCAD. You write code in a language I'm designing and it uses that code to build and spit out, for instance, 3d game assets with textures, normal maps, rigging, animations, etc.)

I intend to publish it under a FOSS license once it reaches roughly an "alpha" stage. (Once it's actually usable to create generate meshes and export them as files of a couple of different popular 3d file formats.)

I intend at some point to support both interpreting and transpilation of my DSL into Go. As in, you can write code and execute it with something like modelgen run program.mg, or you can transpile it into Go and run it with modelgen transpile program.mg program.go ; go run program.go. (Yes, I get this is pretty ridiculously ambitious, but at least it's good to have a star to set my bearing to.) One potential feature of the transpilation approach is that a game developer could write some code in my DSL for generating models on the fly, transpile it to Go, and then build that Go code directly into the binary of a game they write in Go for purposes of generating models on the fly at runtime. (Based on, say, a list of parameters that the game provides at runtime. "The biome here is cold, so let's generate some humanoid figures with lighter skin to soak up limited light and stockier, stubbier purportions who might appear better able to conserve their body heat. And maybe we generate some wolves with really thick fur that blends into the snowy environment well. Oh, but the biome over there is a hot desert, so let's have some humanoid figures with darker skin to better handle harmful solar radiation.") Making that work properly would also involve building somewhere between "a lot of" and "all of" of my DSL's standard library into their application.

As to the license, first off, I think copyleft is a fucking awesome idea and I want to leverage it to make sure that my DSL is never used to subjugate users or developers, and to promote a cooperative means of development. Given that I have such warm fuzzies for copyleft, my main contenders are: AGPLv3, GPLv3, and LGPLv3.

I've heard Stallman talks in which he indicated that the reason the LGPL was developed in the first place was "strategic", which leads me to believe that less stringent copyleft provisions in service to greater adoption can indeed ultimately serve the cause of increasing users' freedom. (Stallman isn't exactly the most "practical" and "flexible" sort of guy in a lot of regards, so for him to recognize this face makes it seem important.) So I suppose one argument for using the LGPL is to allow other developers to publish software using my project in a way that allows them to keep their code proprietary, even if users who receive a copy of their software still have the right to demand a copy of the source code of all components of my DSL's codebase (including any potential changes/improvements to my DSL's codebase) that might have been included.

Does using the GPL or AGPL, however, mean that if they either statically or dynamically link my code into their program, their whole program becomes a derivative work covered by the (A)GPL? And if so, is that a good thing or a bad thing?

I definitely would love to see a future in which some big/popular game includes a good portion of my AGPL software in the server side of their MMO and players who connect to the official servers are able to demand the source code of the entire server codebase, enabling the game to be modified and improved, and enabling continued playability even after the developer of the game has EOL'd it and shut down official servers. Or if I use the GPL and a game company sells a game with a bunch of my code in it, I'd love for users to discover they have the right to the source code of the whole game and not just the part that is from what I wrote. But honestly, I'm not sure if that's quite how it works.

I guess the main argument to prefer AGPL over GPL is just that it afforts users more freedom and more rights to assert their freedoms than the GPL does. But one major downside I can see is that developers may well see that "A" on the front and completely disregard using my code in their code as an option, making their software entirely proprietary.

Beyond that, I don't want to see any future version of my DSL become proprietary. If some day a very small number of people own the copyright on my code and they conspired to change the license to something proprietary (like, say, Redis did for a while), I think that'd be a bit of a travesty. Which is why I intend for the copyright on contributions from others to be owned by the contributors. A diverse mishmash of different copyright owners for different tiny slivers of the codebase makes it somewhere between "a lot harder" and "impossible" to change the license later. And that's a feature, not a bug. (See also "Ulysses pact".) And if I want to make it harder to change the license in the future, that kindof implies that it behooves me to choose the right license now before it's difficult to change my mind later.

So, I'm hoping some folks here have had the same choice to make at some point in the past, or at least have been involved in such decisions in the past, and might have some insight that might help me choose what's best. I do think probably AGPL would best let me sleep at night, but something like LGPL might well in practice much better preserve the freedoms of downstream users in a more concrete way. I'm not sure!

Thanks in advance for any input whatsoever!

9
10
 
 

So basically I want to ask whether if anyone here used any Libre-Formats ??? Like OggVorbis, Opus, FLAC, Theora, Matroska/MKV etc.....

I want to know their benefits over the proprietary ones. It'll also be educational for anyone coming across here.

I particularly want to know about .MKV

11
12
13
14
15
16
 
 

This is a California state court case that could drastically change the landscape for Free and Open Source Software moving forward. And particularly that FOSS that is covered by Copylefted licenses like the GPL family of licenses.

The premise of the case is that by selling smart TVs with only the compiled version of GPL'd (and likely forked) code projects such as the Linux kernel, BusyBox, selinux, ffmpeg, etc, Vizio is blatantly violating the "Source Code Provision" of the GPL which requires that they provide along with this compiled code, also the source code or failing that a written offer of source code to any recipients of these compiled versions of these GPL'd applications and libraries.

(Now, of course, anyone can get the source code of the Linux kernel or BusyBox or any of the other applications at issue. But in the process, Vizio and their manufacturers have written kernel drivers for the hardware specifically on the TVs (which are derivative works of the Linux Kernel and therefore covered by the GPL), and probably made modifications to several of the other codebases in order to make them do novel things specifically for the smart TVs in question. Beyond that, the GPL requires Vizio to provide any programs/scripts/signing-keys/etc to compile and install the source code (or a, say, consumer-modified version of the source code) onto the TVs. It's the Vizio-specific/chip-manufacturer-specific modifications/derivative works and compiling/installing code that's most important.)

The "Software Freedom Conservancy v. Vizio Inc." case is seeking to force Vizio to comply with the GPL. Assuming the SFC is successful and the courts rule in their favor, the eventual result is expected to be a fully FOSS OS "distribution" (of, basically, GNU/Linux) that end users can install on their Vizio TVs in place of the factory-installed OS. This FOSS OS distribution, of course, would allow users to remove ads and other antifeatures from the TVs in question. And over time, it's highly probable that this FOSS OS smart TV distribution would expand to other models and brands of TVs. Roughly speaking, the goal of this lawsuit is to be able to create an "OpenWRT but for smart TVs."

But this case could definitely affect the industry not just for smart TVs. Smart phones, game consoles, automobiles, robot vacuum cleaners, sex toys. So many consumer electronics devices run on, for instance, the Linux or Android kernel (both of which are covered by the GPL). And a lot of these devices also include many other programs and libraries covered by the GPL. There's potential for lots of different "OpenWRT but for " sort of distributions. And if SFC v. Vizio succeeds, it could greatly increase the likelihood of all of these coming to fruition.

Vizio has been stalling for strategic reasons. But there's a court date set for 2025-09-22. My understanding is that there will be options to watch a live stream of it via Zoom for Business. (Yes, it's proprietary, unfortunately.) You can even apply for a grant to travel to California to attend the hearing in person (though I think that's kinda mostly for bloggers and journalists and such). Also, a lot of court documents about the case are linked on the page I linked in this post.

Ok. Time for a bit of legal nerd stuff. (IANAL, not legal advice, etc.) Previous GPL enforcement cases have been copyright cases brought by the copyright holders. This case is novel in that it's a contract case. There's a legal concept of a "third-party beneficiary" to a contract. If Alice and Bob make a contract that requires Alice to pay Charlie $100, then Charlie is a third-party beneficiary and thus can bring a suit for enforcement against Alice. In this case, copyright holders of GPL'd code made a contract (the GPL) with Vizio that requires Vizio to make sure anyone they distribute compiled GPL'd code to can get the source code (and compiling/installing scripts etc), so anyone Vizio sells a TV to is a third-party beneficiary and therefore can bring a suit against Vizio to get the court to force Vizio to hold up their obligations under the GPL. At least that's the legal theory under which SFC is bringing the suit.

If you want more info about this, this YouTube video is a panel of SFC folks doing a Q&A specifically about the Vizio case. It'll have some interesting tidbits of info.

I'm hopeful, and the courts have been sympathetic to the SFC's arguments so far. I'm crossing my fingers for sure.

17
18
19
 
 

A little old but I missed this a few months back

20
21
22
 
 

How a student fought to do their degree without submitting to proprietary (Microsoft, Google, Oracle etc) software and services that lecturers & admins demanded, and only use free software instead (like Jami, Jitsi Meet, PostgreSQL etc).

23
 
 

This is my first application on Flathub! If you’re a game streamer, this can help by having your Twitch chat and alerts appear on your screen, above your game.

It’s a FOSS application, available here on GitHub:

https://github.com/hperrin/stream-overlay

24
25
view more: next ›