ease.js - News
Announcing GNU ease.js 0.2.0 and the Importance of Free JavaScript
Item posted by Mike Gerwitz <mikegerwitz> on Tue 25 Mar 2014 12:56:06 AM UTC.
I am pleased to announce version 0.2.0 of GNU ease.js, the first of many releases as part of the GNU project. This release contains exciting new features, a couple bug fixes, and extensive test case cleanup. The project has also been relicensed under the GNU GPLv3+ to help in the fight against non-free JavaScript (detailed below).
[This is a copy of a portion of the release announcement that went out to info-gnu and info-easejs on 16 Mar 2014; sorry for the delay!]
Changes between 0.1.1 and 0.2.0:
- [license] Relicensed under the GPLv3+ (previously LGPLv3+)
- [bug fix] this.__super now mirrors stack rather than being clobbered after return from an ease.js method call
- [bug fix] Protected member overrides of super-supertypes are now properly handled
- [preview] Support for traits as mixins
- This is an initial development preview of trait/mixin support (motivated heavily by Scala) and is currently undocumented in the manual.
- Complete documentation will be available once remaining trait TODOs are addressed; until that time, see test/Trait/*Test.js for comprehensive examples and rationale. Performance tests are available in the test/perf directory for comparison with non-trait usage.
- The implementation is stable, but not yet complete; see README.traits for more information.
- Proxy methods and the associated `proxy' keyword are now documented (proxies were introduced in v0.1.1)
- All older non-performance JS test cases are now part of the new suite
- Extensive test cleanup and consistent formatting
- All tests now contain rationale (as part of preceding comment block)
- Now uses autotools; see README for instructions
- v0.1 (LGPL'd) series is now unmaintained; users are encouraged to upgrade to 0.2.0 and be mindful of the terms of the new license
The project's new home is now at <https://www.gnu.org/software/easejs>; easejs.org now redirects to the appropriate page, and so you should not need to update your bookmarks.
The Importance of Making JavaScript Code Free
[For more information on the FSF's Free JavaScript campaign, please see <http://www.gnu.org/philosophy/javascript-trap.html>.]
Web pages increasingly include JavaScript code, which raises the same ethical concerns as software written in any other language: Non-free JavaScript can rob you of your right to study, modify, and share the software that you are running. Unlike traditional software, JavaScript usually enters your machine without prompting and often without your knowledge---the simple act of visiting a web page may install and execute a non-free program within your web browser.
JavaScript provides an often frictionless cross-platform distribution mechanism that can be exploited without your permission; this amplifies the effects of some of the most insidious anti-features, such as spying on your activities and tracking your movements. If a web page executes non-free code, how are you able to audit it (or have someone else do so on your behalf) to ensure that it is not malicious? Further, how are you or others able to modify the software to remove the malicious code? (Unfortunately, the latter can be complicated even with free JavaScript, but it can be done.)
But non-malicious programs sometimes need changes too. You deserve control over all software that runs on your computer; why should you sacrifice this freedom simply because JavaScript creates the illusion of remote execution?
How many web sites have you visited today that download JavaScript onto your computer? How many of them respect your freedoms? I chose to license ease.js under the GPLv3+ because I believe that non-free JavaScript should be eliminated, not enabled. Please help to spread the word and join me in writing free JavaScript; without it, we will have an Internet that is locked away from free software users; this is not the spirit in which the Internet was created.
More information on the JavaScript trap is available here:
<http://www.gnu.org/philosophy/javascript-trap.html>.
To join in on the FSF's Free JavaScript campaign:
<https://fsf.org/campaigns/freejs>
More information on free software and its freedoms:
<http://www.gnu.org/philosophy/free-sw.html>
Thank GNUs
Special thanks to Brandon Invergo for his help during the GNU submission process and for his auto{conf,make} advice and patches; RMS for extensive proofreading and advice on "The Importance of Making JavaScript Code Free"; and the many others at the FSF and GNU Project that were involved in this process.
Powered by Savane 3.14-8aba.
Corresponding source code