Using Free Software doesn't automatically give people freedom.
The freedom is in the user's ability to modify the software when it does something user doesn't like, and make it do what user wants it to do.
As long as there's someone in the world for whom modifying the software they use is not an option, be it because of license, excessive complexity, lack of time, lack of patience, or because the person is afraid or overwhelmed by the concept of modifying something - that person is not free.
@Wolf480pl it gives me a freedom to distribute and share it with friends so still better than freeware (assuming I know have nothing about programming)
But think of a piece of evil software like... dunno... discord client.
Not sure what its license currently is, but if you were allowed to distribute it to friends, but not to modify it, you'd just help its developers get control over your friends.
So it gives you freedom to help its developers control more people.
Maybe I phrased the original post wrong.
It's not that just using Free Software doesn't give you more freedom than using proprietary software.
It's that just because you're using Free Software doesn't mean you are not controlled by the software you use.
To stop being controlled by the software you use, *you* need to be able to control *it*.
To a certain extent, highly configurable software will let you control it even if you can't program. But that's still limited.
@Wolf480pl Would you say that everyone who plan to use a lot of software (which is most people nowadays) should be able to program to a certain extent?
@Wolf480pl Ohh, I see. Is programming simpler than it seems? I don't know how, and I use technology to make things easier, so I don't know if having to know how to program is worth the work just to make things easier
> Is programming simpler than it seems?
This is a really hard question...
Also I started very early and I don't remember what it was like, so I'm not the best person to answer that question.
But from my point of view:
It depends. There are things in programming that are hard or complicated. But there are easy things you can start with. It may still take some initial effort before you get it, but I think it's kinda like with reading and writing...
@Wolf480pl Got it. With technology being so prominent in society today, it seems like it might do well to make learning programming a standard for all people in school (unlikely to happen soon, but it would be nice).
it was certainly an study option in England when I was a teenager in the 1980s (you select which subject you study for GCSE exam at around age 14) and remains one in the present day (I think the amount of coding has been increased/reintroduced compared to 1990s GCSEs).
There are plans/desires to start at junior school (age 5-11) but there might still be a lack of teachers..
@toro @Wolf480pl I'm with you guys on the education tack, but there's a problem. A great many people genuinely *cannot* learn to program. I wish this weren't the case, but I'm getting this from Uncle Sam, and he has vested interests in believing otherwise. What should be done for them? Or, better yet, what can they do?
@Wolf480pl @toro @TeddyDD
this story combined w/ your 1st toot about being able to control non-free systems is a perfect explanation of how there are so many women (and men) who don't go through CS programs who become Excel gurus because they are able to control it and program it, even if they never touch macros. even though the software is not free, there is enough guidance and expectations and *specificity* on what it can help you accomplish, that people can teach themselves what they need.
@Wolf480pl "Users' control over the program requires four essential freedoms... If any of them is missing or inadequate, the program is proprietary (nonfree), and unjust."
The four essential freedoms are required for the user to control the program.
But they're not sufficient.
Can you control Firefox or Chromium?
@Wolf480pl What do you mean?
If Mozilla suddenly introduces a user-hostile feature into Firefox, what can you do?
If a user cannot program, they use a piece of free software whose developer decides to introduce a feature that is harmful to that user, what can that user do?
@Wolf480pl Ah, I understand! Thank you for explaining. If it's an obscure software and it's unlikely someone else will modify it to a better version, I see how the user can be stuck.
@toro and sometimes it's not that hard to modify the software, but it's hard to maintain a fork for a longer period of time.
For example, maintaining a fork of Firefox would be a lot of work, because the are a lot of security fixes that you need to keep track of, and also the web standards (HTML, DOM, JS APIs, etc) are constantly changing. So if you stay behind, not only some websites will not work in your browser, but your users will be vulnerable to attacks because of unpatched security bugs.
@Wolf480pl Oh man, that's a really complicated situation I don't know what the solution for this would be
But then the problem is you have to convince everyone to make websites that work fine in a JS-less browser.
(btw. @alcinnz is making a JS-less web browser called Memex)
Another way would be to try to use web for less and less things.
For example: email, chat, and collaborative editing could each have a separate protocol with separate apps, and not be built on top of the web.
@Wolf480pl what is email with separate protocol? I still use email with protonmail and tutanota because the setup is familiar to me
There's a network protocol called IMAP, which lets any Email app, like Thunderbird or KMail or MS Outlook to connect to your mail box and let you read the emails, move them between folders, etc.
AFAIK Tutanoa does not support IMAP, because they have some unusual mailbox encryption that's incompatible with that.
And in Protonmail it requires some weird setup with ProtonMail Bridge:
Tutanoa and Protonmail are kinda a special case because have strong focus on security and assume that if they let a user screw up something, the user will screw it up.
@Wolf480pl Just watched a video about IMAP. This is awesome!! But I guess the barrier for me would be the server stuff/self hosting and such. I see now how there should really be more emphasis on educating the public on not just using technology but knowing how to tinker with it
@toro it's kinda funny but also sad how people who use GMail as opposed to Tutanoa can use IMAP with it, but then Google reads their emails and runs them through machine learning to target ads and whatnot...
I wish there was an email provider I can recommend :/
Pretty sure it's "communication" protocol, "network" is another thing ;-)
@alexl IOW, wikipedia says both terms mean the same thing.
@Wolf480pl where? It uses just "communication protocol". Also, IMAP is a communication protocol because it is not aware of any network
@Wolf480pl ah you mean the redirect. If the introduction doesn't mention the alternative term it means they are not the same thing. In this case what Wikipedia is saying is "network protocol? You probably mean communication protocol"
@alexl but if you interpret it that way, then it also says that "Network Protocol" doesn't mean anything.
@Wolf480pl if there is routing it's a network protocol like IP
1) One angle that I think needs to be explored is for people to request others' to contribute to or fork the software they use. Payment would probably be involved to make it worth it to those others, but it could be a great way to train up students.
2) While my preferred way to use email (and Git) is through native clients, it's trivial to make JS-less web clients for them. And hence that will probably be done.
@Wolf480pl @toro Also I've been looking into more declarative alternatives to JS, and John Ankarstrom and Intercooler.js have a good suggestion for how to support live messaging (amongst so much more) without running untrusted software.
I'll be wanting to make links more powerful in Memex to support much of what is done with Ajax.
Don't think I'll find a way that's worth the effort to integrate collaborative live editing though. That really needs it's own protocol!
About 1), one of my explicit goals, while designing the #HackingLicense, was to maximize the number of forks a software would get and to setup an incentive system for #hackers to be supportive to people forking their software, without much drama or any opposition... but with sincere help and #curiosity (but also no obligation).
Yet a constraint was to avoid abuse of such system to close the software itself.
That's one of the reason behind that #copyright assignment.
Free/Libre software give us a *collective potentiality* of freedom.
1/ if we don't take this potentially ourselves, somebody else can and we benefit from it. 2/ it is only a *potentiality* which means that someone somewhere has to invest energy/resources. It is therefore a collective effort, and a collective ressonsibility...
It isn't magical "freedom for all, now." it is still much better than "everyone in prison". A collective answer to a complex problem one cannot solve alone?
@Wolf480pl I personally believe we need to reconsider this. Though I mostly agree, in my opinion the idea that people need to be able to modify software in order to be free is really difficult. Transferring this to other aspects of daily life, it would mean people aren't free as long as they need specialists in certain fields. That might be true but it's at the same time totally away from reality. And it makes knowledge and experience worthless.
@Wolf480pl Complexity is the number one reason preventing me from tweaking my own installed Linux software in any significant way. And also from contributing new software. APIs are stupidly complex these days, with little justification.
@Wolf480pl I had a great example of this when my work switched me to an Ubuntu laptop. It took a frustratingly long time to figure out how to save in gedit where the tool bar is hidden automatically until you hover over it and there are 2 buttons dedicated to opening/creating files next to one another in the top left, but none for saving those files you've created and edited. I'm not exactly a spring chicken...
@Wolf480pl This is a complex topic between legality and practicality. Someone who has the right to travel has that right, but the right does not guarantee a plane ticket.
Free Software is about the legal right. It is the underpinning. The practical issues are important but when we say that it's all or nothing, we don't move forward.
@emacsen I think the practicality aspect is getting more and more important recently.
I've seen relatively many situations like:
a) a piece of software works against the wishes/best interest of some user/group of users, the user[s] demand that the developer changes the software (for free) and if that request is not satisfied, they call the dev evil and unethical
b) a developer makes software to be easy to use in a way similar to how mainstream proprietary software is easy to use, with the goal of making as many people use this software as possible, to make them free. However, the software is like an appliance, designed to be only used in one way, and forces the users to use it that way, because the users can't in practice modify the software to behave any differently. The users are not more free. Maybe even less free.
c) People demand a developer to do (b)
d) A developer writes free software that gives users more control but requires a bit more understanding before you can use it, but people blame him and call him elitist.
@Wolf480pl These are each separate issues, so (like you) I need to address them separately.
First, we must look at the situation of software usability and accessibility If software is Freely licensed but requires a lot of training to use, it will be effectively out of the hands of certain people where time is an asset they don't have to spare, for example poor people. Being accessible is part of being welcoming, especially to minority or underprivileged people. 1/
@Wolf480pl To further our global goals of Freedom, we need to be aware of and consider issues of accessibility in both the software we develop, as well as the way in which we interact with those in our community.
As this applies to people who demand things from us, we should look at who they are and the historical context. Are they a minority/oppressed/disabled or underprivileged group asking us to help them get out of this situation? 2/3
@Wolf480pl If we're talking about helping an underprivileged group, then if the thing they're asking for is more than you can do, you can explain it to them in those terms. "I want to help you but I'm not able to do so... maybe you can find another way to get this done?"
And if not, if they simply demand with no reciprocity or understanding, then that's called entitlement. We can't fix someone else's entitlement, only understand it and act accordingly. 3/3
I agree with the approach you recommend in your last post.
But that the whole situation where they need to ask us to change software for them, is because they can't control their own software, it's the software that controls them, and we control the software.
Giving them the feature they want is like giving them a fish.
Teaching them so that they can implement the feature themselves, is like giving them a fishing rod. It lets them control their software, so that the software no longer controls them.
@Wolf480pl In some cases, teaching them to fish is great! But imagine if you're a poor mother of three children working two or even three jobs to make ends meet. Hearing "Learn how to do it yourself" can be like hearing "If you want to heal your sick child, first go to medical school".
That doesn't obligate you to take any action. You may still decide not to implement it for them (your time is worth something too), but our answer can't always be to require others to learn programming.
Thank you for your explanation. It helped me understand what "learn to do it yourself" may sound like from the other side, and that "now" may not be the best time for someone to learn programming.
But the case you described is something I mentioned in my original post:
A person is controlled by the software they use because they lack time. They can't benefit from freedoms 1-3.
And if we can't eventually teach some form of programming to everyone, then our global goal will not be achieved.
We are a cute and loving international community Ｏ(≧▽≦)Ｏ !