Open but difficult vs Easy but closed

Open but difficult vs Easy but closed
0

This is one of the two threads I want to start here spinning off from a conversation elsewhere (Telegram). See the other thread.

How important is it for a project to be open vs easy? Are these mutually exclusive concepts? If no, how are they related? If yes, how important are they to each other? Can one exist without the other?

Of course, the answer to the last question above is “yes”. The question most important, then, is the penultimate one – how impt are they to each other? Given just one, which one would you choose? Would you change your mind under certain conditions? If yes, what are those conditions?

I have my own views. But I would like to hear from others.

4 Likes

My personal choice is to go for “free/open and safe”, even if it is difficult. Free and open can also be easy, but needs more developer effort. The reason why “free and open” end up not-easy despite developer effort is because they constantly want the user to WORK against entropy. The reason why “easy-sites” are easy because it is easy to become vulnerable in an environment that makes it easy towards entropy. Result: we loose our data, privacy and vulnerable to third-party exploitation.

Having said that, we must minimize the effort of the users by developing technologies that are both easy and safe. Easy and safe is the required goal, and it is sufficiently proven that safety does not come when technology is closed, however benevolent the agency may be. How many benevolent-closed applications are there in the world? And how do we certify a benevolent-closed application, when it is closed and immune to public audit? Is Telegram server a benevolent-closed application? How can we trust unless it is publicly audited?

Let us also think about applications that are free/open, safe and easy.

2 Likes

Extremely important top be open. IMO takes precedence over ease of use. This is not merely a philosophical stance, but based on personal experience of extreme pain caused due to the lockin of closed apps. It is non negotiable.

Not necessarily. But given the need for replacement of some closed software, one would have to prioritise open.

Yes. At a cost. Again openeness has a far lower cost than usability. The metric being merely the time period over which one accounts. The damage that closed systems cause is way beyond any productivity drop due to usability. One can always find some corner case to prove otherwise.

Even if malice is absent - Microsoft being a prime example of malicious intent - it is merely a matter of time before closed software ceasing support and the resultant data suffering from bitrot.

3 Likes

Even with current open software one can see the effects of binary blobs causing huge pain.

2 Likes

Open vs Close adoption dilemma

Hi everyone

I think this is great platform to share how I think about this issue and get inputs to negotiate some of the tensions which I personally go through when it comes to choosing one software over the other. I would try to break down my own understanding and share the process which I go through while choosing one software over the other.

In first part, I will share my own framework for understanding different softwares I use(had used) for day-to-day work. I am also keen to keep the post as simple as possible and hopefully people can relate some of these with their own experience.

Softwares

I think that there are different categories of software and the filter of open-source and closed-source needs more nuanced analysis. Which situation someone chooses one or the other? What factors lead to that decision? What are the implications?

Here is my framework:

For the end-user, what are the factors which one wants to optimize ( These are some of my filters which I use to negotiate/navigate my choices)

  • Ease of use - A great user experience and intuitiveness. The software should be easy to use

  • Functionality: It should be one that works! It shouldn’t crash and should work for diverse use cases!

  • Respect for one privacy - no one wants to be tracked!

  • Affordable: The cheaper the better isn’t it?

  • Open-standards - yes, I don’t want to use standards which are not open i.e. open standards are the way one makes one software does handshake with the other. Since we are up for an inclusive democratic society, we don’t want to enforce one to use a certain kind of software that locks one down and hinders cross-OS/cross-software collaborations. One example of this could be, a Windows user sending a .doc file on mail to a Linux user, which is kinda forcing the user to use Ms-Office to read the file. Instead, open -standards like .odt or .docx enable cross-platform compatibility.

Softwares as Operation System

This is pretty simple - We have Windows, Linux, macOS, Android, Chrome as predominant ones in market usage. Here we can have again classify these into the following:

  • Closed - windows, macOS

  • Open-source: Fedora(? )

  • Free/Libre and open-source( FLOSS): Debian, Ubuntu, Debian derived distributions

( FLOSS and Open-source Distinction: FLOSS and FOSS - GNU Project - Free Software Foundation)

My experience: I have used Windows, fedora, ubuntu, and macOS. Currently, I am using both macOS and Ubuntu. User experience-wise, I find macOS and Ubuntu better than windows.

Reflection: Is there any danger of using macOS as an Operation system that is close(operating system-wise)? (Given that we know we can use the open-source application on macOS and one can also use the proprietary application on Linux based distros)

Softwares as tools for production

All those software that enables one to create/modify digital artifacts ( Here I am referring to digital artifacts as anything which one can create using new media technologies - a piece of text, image, videos, a program - lines of code to accomplish something, parametric CAD software, or any combination of the above) Few examples of this way of classification could be:

  • Office-suite - LibreOffice, Ms Office,

  • CAD: Solidwork, FreeCAD, openSCAD

  • Video editing: kdenlive, Adobe premier pro

  • Image manipulation: GIMP, Photoshop

  • document viewer: okular, adobe acrobat

  • Code editor: Visual code studio, Atom, Sublime

  • Vector graphics editor

  • Markdown editor…

so on…(And the list will keep on increasing both horizontally and vertically.)

The above is based on what the tool(software) is meant to do as its core functionality.

My experience: In this category, I have a bias towards choosing FLOSS/open-source over the proprietary ones. The reason I am able to make this shift in most of the cases because there is already a strong alternative (even better) existing in the market which helps you do your work and does not bind you to a close standard. However, I did face difficulty on one occasion which I want to share:

Video Editing domain
Closed source like premiere pro which is used by most of the people in the media industry is widely adopted. Here, if you are an artist, you are bound to use software that your peers /entire company is using. Going against the tide, in industry setting will be difficult ( not impossible though!) As a freelancer, you still might choose to go with FLOSS given that a strong alternative exists. Also, here functionality, ease, open-standards will triumph over privacy concern as a professional. I remember using kdenlive and the innumerable number of times it crashed! Camtasia on the other hand which is a licensed proprietary or premiere pro just simply works!

However, saying that do I want everyone to go for licensed software when it comes to video-editing use cases? Definitely not! in my POV, when one is learning video editing as a hobbyist or say teaching video editing to school students as part of the curriculum, I will advocate for FLOSS. However, as a professional, I think it should be okay to make the choice of going with industry standards (as mentioned earlier sometimes you don’t even have this choice!) for making a video if that’s very central to one’s career.

On the other hand, GIMP(FLOSS) is as good as photoshop(closed) and Inkscape(FLOSS) is probably more powerful(functionality-wise) than Illustrator(close). So, yes we are likely to find most of the open-source alternative for closed software but I feel that there are also areas where closed Softwares dominant industry standards and we don’t have a stronger FLOSS alternative.

Reflection:
What if the close software lets you work with open-standards? keeping the affordability factor aside, I am not sure if using such software is hindering one’s freedom. Would need community inputs on this. What are the privacy implications in such scenarios? What kind of data softwares like photoshop can possibly collect which would infringe the freedom of the user?

Softwares as service

The third category would be the software we use as “Service”.

  • email client : gmail, yahoo etc
  • version control : github, gitlab
  • search engine : google, quant, DuckDuckGo
  • media streaming: netflix, youtube
  • payment gayeways: paytm, paypal
  • e-commerce: amazon, flipkart
  • instant messaging: telegram, watsapp
  • web-browser: google chrome, safari, firefox
  • maps: openstreet maps, google maps
  • web apps for various services- cab booking(uber,ola), ticket booking, food ordering, etc.

My Experience:
Based on my above understanding, there are cases where I can clearly say that I would prefer one over the other. For instance, currently I am using qwant search engine (https://www.qwant.com/) which focus on protecting privacy of the user as central to its mission. Its nice but I do feel that sometimes it does not give as good results as google used to do. However, I am sticking to it because the privacy here is more important than convenience(functionality).

Reflection:
While using most of the web-services, is it even possible to classify and filter the above using open/close labels? Uber and ola I don’t think are even gonna make their source code public. What should one do in such cases? Do you stop using the service to protect privacy?

I am sure there are more layers( even better lens) to the way I have articulated the above categories. This might not be a technically correct way to do also. Looking forward to inputs and enriching conversation around this topic.

Gratitude
Ravi

3 Likes

Some aspects that most user are completely unaware of

  1. Open and unencumbered standards

  2. Non predatory policies on user content

  3. Non predatory policies on metadata generated out of user content

  4. Open software implementing above

Violation of any of the above leads to extremely high hidden costs. And those costs have a cascading effect on everyone using the content. One may note that this cost is not restricted only to the content creator.
With increasing use of machine learning algorithms, all sorts of innate biases creep into ML resulting in highly skewed content / decision making. These exacerbate social divisions.

https://dl.acm.org/doi/abs/10.1145/3195570.3195580
http://proceedings.mlr.press/v81/buolamwini18a.html?mod=article_inline

Closed software is an insurmountable barrier to content creation, managment, distribution and collaboration.

3 Likes

btw, Fedora will also be in the same category as FLOSS.

2 Likes

Here, are you assuming that professionals do not need to follow the social contract? Is professional some one who has license to “kill”?

And what is an industry standard? Would anything that became a monopoly can make their product an industry standard? Your position seem to contradict with the need to go open standard.

Also, what is good for education should also be good for profession. Are you suggesting that deployed, reproducible applications cannot be made using FLOSS? What is the basis of your assumptions? Can you clarify?

2 Likes

When I started this post (and its companion post), I wrote upfront that

Here I would like to explicitly thank @ravi312 for very thoughtful and detailed post that reflects real-world concerns important to me. As I said, above, I continue to have my own views :slight_smile: but I really loved reading this (and agree with much of it).

If nothing, keep up this inquisitive, probing curiosity.

3 Likes

OPen and Unencumbered standards. That is the key.

RAND - Reasonable And Non Discriminatory - is the pet punt of industry. The standard is open but costs a huge packet to licence. Thus MPEG4 is patent encumbered and costs a bomb to licence falls in this category. Until google created VP3, MP4 standard encumbrances were a major road block to creating video content.

Such encumbrances directly hinder the goal of spreading a scientific culture, an avowed objective and AFAIK the sole purpose of this group.

2 Likes

The exception which I mentioned above was for a very specific case i.e. when cost of switching to FLOSS alternative is practically very difficult. The reason for this difficulty might be due to multiple factors or a combination of these :

  • ease of use
  • functionality
  • peers using the same

When using software under the category of -“means of production”, I think the functionality becomes very central to use. The paucity of FLOSS alternative in those specific cases will lead to one making the choice to go with what everyone is using around and that which works. How this is different from the educational context? In schools, children are being exposed to the specific discipline (say video editing) for the first time. They are currently at the peripheral of the CoP of that specific industry which is different from someone who is professional video-editor. I think that functionality is not the only criterion using which we determine what gets used for public school education.However, that is something that can’t be compromised by a professional video editor.
Does that mean that the creation of a robust functional FLOSS alternative, in this case, is not possible? it’s definitely possible, but in areas where FLOSS alternative currently doesn’t provide similar robust functionality and is yet to be adopted by the CoP, shifting to FLOSS will be a challenge.

Another example would be MATLAB( a proprietary commercial software) We have seen leading research universities hosting MATLAB sessions by inviting experts ( these include the professors of technical universities, employees in industries) who are using the same in their respective domains. Also, these universities giving institute wide access for the same making the undergrad/grad students exposed to tools early on. Example:
https://www.iitr.ac.in/centers/CC/pages/Resources+MATLAB.html
http://www.cic.iitkgp.ac.in/?q=Matlab-2015a
https://cc.tifrh.res.in/index.php/matlab/
https://www.iitk.ac.in/ccnew/index.php/matlab-campus-wide-license-at-iit-kanpur

Is there any violation of the social contract in the above use cases? Does that mean that someone using a closed source software always violates the social contract? Can you elaborate on this?

2 Likes

I don’t think so, and I will elaborate in a bit, but you should make up your own mind.

What and where one’s social contract is violated depends on what the social contract is to begin with. So, first matter at hand, what exactly is a social contract?

In philosophy, a social contract is a tacit agreement between the governed and those who govern. Those who are governed give up some of their freedoms so that that act of governing becomes easier. In return, those who govern, take care of those things that the subjects would have done otherwise. (This is a highly simplified explanation, but good enough, for now. If you want more, you can read tons of stuff about social contract going back all the way to Socrates and making your way up through Rousseau, Hobbes and others.)

I would make a reasonable assumption that in our conversation here, we use the phrase “social contract” to indicate our individual responsibility toward the collective. We have a individual responsibility toward the collective because then, in turn, we individually benefit from what the collective funnels to us (through the actions of other individuals). For example, take open data – if I can download an openly licensed dataset, that is only because someone made that dataset available under an open license. If I only take, and never give back, perhaps it won’t kill the collective. But if enough people only take and never give back, soon there will be no one to put out open data. You get the picture, right?

Ok, now let’s see what social contract means to us individually. We all have different backgrounds, aspirations, trajectories in life. We also have different skills, interests and goals. It is reasonable to expect that we will be good at some things and bad at other things. And we will exchange what we are good at with what others are good at. Our social contract will allow such exchange to happen as freely as possible.

Personally, I (think I) am good at working with data and at helping others work with their data. Through that process, I also help others make their data more open. I focus on my mission and try not to get distracted. I will use the best tools to further my mission, and if some of those tools are closed source, well, so be it.

For exampe, vim or emacs may be very powerful, but I am not good at them, and I am not going to invest hours in learning them. Instead, I choose to use Visual Studio Code, a product made by Microsoft. Is there any contradiction between my mission and that action? Not in my mind because it doesn’t violate my social contract. A film maker could make a similar calculus for a program like Final Cut Pro or Avid, both closed source programs. A graphic designer could make a similar decision for Photoshop as opposed to Gimp. An architect could choose Autocad. And so on. For them, making a film or a design or a building is more important than bringing it into creation.

I will stop now but that should be enough to get you thinking about your own social contract and how you can further it best. Good luck, and keep sharing.

Note: some stuff I’ve been thinking about social contracts

1 Like

An unequivocal YES.

Two reasons.

  1. In the case of publicly funded agencies spending money on licences is a criminal waste.

  2. If the code or data is not useable in a tool available to the general public without the cost of purchase it is erecting an artificial barrier.

1 Like

Everyone should make up their mind, but I have two problems with this post that I will point out:

The above point actually reinforces my view that the violation of a social contract is a matter of the point-of-view. From the POV of a public agency, yes, spending money on closed licenses could be a waste. But it may not be under certain circumstances. Public agencies use a ton of stuff that is not open source, not just software but also hardware. Almost all military hardware is closed source. Much of the software used by very large projects and agencies is closed source. Not all of it has to be, but some of it may have to be because of the reasons @ravi312 puts forward in his post – lack of options being a major one.

The above point conflates the cost of purchase with the freedom of using something. Someone has to pay for everything. Nothing is free. It may seem so because its cost may be hidden. That said, the freedom to use that thing is an orthogonal concept.

2 Likes

In the case of such projects it is then a high priority responsibility for the government to invest resources in creating open alternatives. Especially given the very poor track record of security and continuity in such hardware and software.
Heck as a very private small business I realised this a long long time ago.
One could go on slicing and dicing each layer of a service and find a few closed components, then argue that the chain is contaminated anyway so why bother - some component of hardware not being open being used to justify the use of closed software.

I know that there is no free lunch.
From a user perspective it is about which is more costly. The government paying a lot to ensure that all users - or even a few without the means - not having to pay. OR the government defraying it’s expenses by using a low cost set of products that shifts the costs to individuals and / or society.
Classic cases of M$ doc format being used by government. When this battle was being fought it was the ease of use AND it’s cunning cousin productivity being used as justification. One could have also argued about the cost of training all the citizen of the country to use Openoffice. After all ones cost of "learning " M$ office was almost zero.
There was also the cost of maintanence that was thrown into the ring. Alongwith economics, freedom, viral nature of free software and a 100 other things to claim a chain of contamination / purity.

2 Likes

of course, totally agree. In cases where there are no open alternatives, a public agency (govt) should invest in creating open alternatives. But, until such alternatives get created (it takes time, sometimes, a long time), even a public agency has to go about its business which may not be investing in open software. It may be in maintaining public drains. Until such a time that there are viable alternatives, even a public agency will should use the best available/affordable.

And, then there is the case of non-public agencies. Remember, the question from @ravi312 was not about public agencies. It was a question more general. Once again, the choice we make depends on the social contract we subscribe to, and that is most of the times a personal choice.

1 Like

No argument at all on that count.

1 Like

An oft quoted response.
The drain guy says we are cleaning drains. No mandate to create software. Computer dept decides.
Comp Dept. We dont write software only recomend when XYZ requests.
Software company with deep pockets and tentacles in government wrangles a contract to write software, writes closed software and licences to one dept of one town. Then resells the same stuff to a thousand others.

2 Likes

yes, what you are illustrating is a breakdown of a system because of shucking one’s responsibility, but which responsibility are we talking about? Let’s not forget the forest for the trees (or is it vice versa?)

1 Like

Why do people always forget Music?

Music - LMMS, Hydrogen, Ardour and of course Audacity

2 Likes