• 2 Posts
  • 132 Comments
Joined 2 years ago
cake
Cake day: August 4th, 2023

help-circle
  • You can take my terminal when you can pry it from my cold, dead, hands.

    Any one-liner you put together, you can re-run trivially. You can rerun it with modifications trivially. You can wrap it in a for loop that runs it with different parameters trivially. You can stick it in a file and make a reusable Bash script. It’s far easier to show someone else how you did it (just copy/paste the text of your terminal session) than dozens of screenshots of a point-and-click adventure (and not in a good way) GUI app. Bash commands are easier over SSH than GUI apps over RDP or VNC or whatever. You can’t script a GUI app.

    I seriously find myself wondering why someone would use a GUI for something they can do with a terminal. Learning curve is the only reason I can think of.

    I frequently find myself creating tools that let me do with a terminal what I formerly could only do with a GUI tool.




  • I can definitely see a lot of good applications for this way of doing things.

    It does seem like I often run across “error handling” code that literally just catches a bunch of different exception types and throws a new exception with the same content from the caught error just reworded, adding literally zero helpful information in the process.

    It’s definitely the case that sometimes the exact sort of crash you’d get if you didn’t handle errors is exactly the best sort of exception output the program could do given its particular use case and target audience. Or at least it might be best to let the error be handled much further away in the call stack.










  • I can’t imagine you’re the only one in this situation. If I were in your shoes, I’d search for similar stories online and see if I could get a sense of how friendly the company is to swapping OSs. For some companies, changing the OS is a complete deal breaker. Other companies are pretty willing to assume the issue was indeed strictly hardware and had nothing to do with changing the OS, and thus will go ahead and do the repair.

    If you find that company is more like the former, install Windows. If not, just start the warranty repair process.





  • As others have said, you’re changing the topic talking about FUTO’s license in a response to a comment about the AGPL.

    But to continue your thread:

    If you ask them to articulate their concern, I haven’t heard one that isn’t on the lines of “I want to be able to use this code in my paid product”…

    I specifically want anyone to be allowed to use any and all FOSS software I write (and I do write and publish some) commercially, so long as they abide by the terms of the license I choose. (Typically the AGPLv3.)

    If, for instance, a mainstream commercial consumer electronics device incorporated my code into the firmware and because my code is under the AGPLv3, end users had the legal right to demand the means to modify the behavior of their devices to better suit them, I’d be thrilled.

    Plus, if a company with an IT department is distributing a modified version of my code, that might well include some improvements generally useful for all/most/many users of my project. And if my projects is under the AGPLv3, I can demand a copy of the source code of their modified version and incorporate any improvements back upstream into my project so all users of my FOSS project can benefit from it.

    Commercial redistribution is more of a feature than you think. I think you’re missing the point of copyleft.


  • Nothing about copyleft causes the “owner” to not hold the copyright on a work.

    Copyright gives the holder (either the author or the party to which the copyright is assigned) a few specific (but broad) exclusive rights to the work: reproduction, preparation of derivative works, distribution, public performance (which probably doesn’t so much apply to software), and public display (also not applicable to software, so much). (And then there’s circumvention, but that’s yucky and irrelevant to this case, so we’ll ignore it.)

    “Exclusive” means nobody is allowed to do any of those things except the copyright holder (unless the copyright holder licenses those rights to others, but we’ll get to that.)

    The copyright holder can give/sell/transfer the copyright to someone else (in which case the previous holder is now excluded from doing with the work all the things in the first paragraph above because someone else now holds all those exclusive rights), but that’s not what the AGPL does.

    The copyright holder can also license any or all of the exclusive rights in the first paragraph to some person or party (or in the case of an “open license” like the AGPL, to everyone).

    The AGPL licenses rights like distribution and preparation of derivative works to others (under certain conditions(/covenants) like “you can only distribute copies if you do so under the same license as you got it under”).

    So, if some hypothetical party named “Bob” started a project, they’d hold the copyright. If Bob put the AGPL on that project and also required any contributor to assign copyright on their specific contributions to Bob, Bob would hold the copyright on the entire project code, including all contributions. Someone else could take advantage of the terms of the AGPL allowing derivative works and redistribution to create their own fork (so long as they abided by the conditions(/covenants) in the AGPL), and if they did so, they could omit on their fork any copyright assignment requirement, in which case the fork could end up owned by a mishmash of different copyright holders (making it hard to impossible for the administrator of the fork to do anything tricky like changing what license future versions were under.)

    However, on Bob’s original (non-fork) version, if Bob, as the copyright holder, changes the license file to something proprietary, Bob has (arguably?) created a new work that is not the same work as the previous version, and Bob can license that new version under a different license. (I suppose one might be able to argue that changing just the license file isn’t legally enough to make a new version, but the very next time a nontrivial change was made to the codebase, that would qualify as a new version, so it kindof doesn’t matter.) Bob has already licensed previous versions of his non-fork under the AGPL, so Bob can’t really rescind that license already granted on older versions. But new versions could indeed be put under a different license. (Mind you, there are licenses that have specific terms that make them rescindable on old versions. Take for instance the Open Gaming License fiasco that WotC tried to pull not terribly long ago. But I don’t think the AGPL is a license that can be rescinded.)

    Since Bob can’t rescind the license on older versions, if Bob made a future version proprietary, the community or any particular party that wanted to could take the last AGPL version of the non-fork and make a fork from there that remained under the AGPL.

    The moral of the story is: if you don’t want the copylefted code project you start to be changed to a proprietary license later, don’t do any copyright assignment agreement. The codebase being owned by a diverse mishmash of different copyright holders is a feature, not a bug.

    And, as mentioned elsewhere in this post, Immich is owned by a lot of different copyright holders as it has no copyright assignment requirement.


  • Can you name one other personality with a large following that comes even close to Louis Rossmann in bringing stuff to light and fighting back against enshittification?

    Well, there’s Corey Doctorow, of course. He literally wrote the book on Enshittification.

    There are definitely more “behind the scenes” folks doing a lot for that particular cause who don’t so much have a following of anywhere near the same size, but nonetheless do fight enshittification in big ways. Bradley Kuhn comes to mind.


  • My major in college for my BS included all but 2 credit hours of a physics minor, so my final semester, I took Thermal Physics to complete that minor. I’ve never met a physics course I didn’t ace, so I figured “easy A”.

    I’m quite certain I was the highest scorer in the course and was a solid B+ before the final. I took the final and felt really good about how well I did. I thought sure that professor would curve (or otherwise adjust the grades) and I’d be the one that threw off the curve.

    I got my grades back. I got a C. My only C ever, in fact. An A (what I expected) would have gotten me summa cum laude.

    The same semester, I took a statistics class. Paid exactly zero attention in class. The class took place in a computer lab for no good reason other than I’m guessing the other classrooms were booked. I played a fast-paced Quake-like FPS every class all class. Got an A in that course.

    But that fuckin’ thermal physics class.

    Years later, a coworker of mine who was an alum of my alma mater told me that they’d taken the professor who taught that thermal physics class off of teaching permanently due to his completely unreasonable grading practices.