Skip to main content

I'm happy with the RC phone service itself. However, in a support survey I mentioned that I do not like the Customer Web site interface because I am a free software advocate, and the portal will not work without RC's non-free JavaScript. Please read the following:


https://www.gnu.org/philosophy/javascript-trap.en.html


In response, RC told me to create a support ticket, so I did (#04573661). Then later they told me to post to the forums, so here I am. If RC wants to meet my requirement, they would either need to attach free software licenses to the JavaScript used on their portal, or create a fallback HTML-only Web interface for customers who did not want to use JavaScript.


Hello Christopher,

I understand the concerns raised by the GNU organization, and I have great respect for them and your position. I too am an altruistic developer, but have made compromises to my idealism over the years in order to get the job done. :)

JavaScript is the defacto web application programming language. Nearly every company in the world which provides a web portal or web application interface includes business related JavaScript (many of which are non-free). Yes, some are worse than others, but RingCentral is a reputable organization. Our business is not interested in harming or stealing from our viewers, customers, and developers (as is the case with many of the "malware" scripts which are being referred to in the provided article).

Your concerns have been shared with our leadership team to review and consider, but in the meantime, you might have to lean on either your browser's settings to prevent loading JavaScript, or to use a text-only browser. Even if RingCentral leadership decides to take action on your request, it is not going to happen overnight. Are you able to use a different browser for your RingCentral application and integration development purposes as a workaround to your requirement?

Also, would you mind providing me with more details about "your requirement"? Is it only that we rebuild our website, portals, and other web applications using free JS, or to provide HTML-only versions of all these web properties, or are there other aspects of your requirement which you expect us to address please?

Thank you.
Well, basically the requirement (request, if you prefer) would be to be able to use essential functionality of the customer portal (I don't have a list at the moment) without needing to run JavaScript code in my Web browser that is not "free" in the free software sense of the word, i.e., providing the four canonical freedoms:

http://www.gnu.org/philosophy/free-sw.en.html

(JavaScript is a bit of a special case, since some JavaScript is "trivial". The "JavaScript trap" article referenced previously gives some clarification on that point.)

I can disable RC JavaScript with a plugin (such as noscript) but then the portal becomes totally non-functional (after login). All content fails to load except an empty box.

I'm not especially familiar with your code, but I think the main thing to be addressed would be your RCLibX code, and maybe some of those large blocks of inline JavaScript, if you wanted to make your JavaScript free. There are different ways of handling the licensing (see the javascript trap article) but with GPL licenses I believe you could just have the source code in a public repository some where (properly licensed) and then embed a link to that repository in the delivered code.

Alternatively, you could construct a fallback interface which requires only free JavaScript, or no JavaScript at all. Of course, it would be great if free software advocates got the same pleasant interface experience as everyone else, but either solution would be satisfactory to me. E.g., the search engine "duckduckgo.com" has a main interface that uses their proprietary JavaScript, but they also have a fall-back HTML-only interface:

https://duckduckgo.com/html/
As much as I would love to open source all code, there are crucial business use cases which prevent making all components of code "free and open source".

I understand your request and have shared it with my leadership for consideration.

If I receive notice that they have agreed with you, and have prioritized implementing your request, I will update this thread. Thanks for your dedication to the open source community values. :)

Reply