Free and "non-free" languages
I've never heard of a non-free computer language, at least in the same sense
a computer software can be. Both are very different things. You can use any
language as long as there are free programs which understand it. Free web
browsers such as Abrowser and IceCat will run JavaScript, HTML and CSS, and
that's what you should mainly care about.
Some may consider a language such as C# non-free because of patent issues,
but that's a really different thing and not really comparable to non-free
software
JavaScript and ECMAScript
ECMAScript is just a different name for JavaScript. When the language was
first developed it was named JavaScript. It was name by marketing people
because of the popularity of the Java language. When people wanted to make a
standard for the language, so it can consistently used between browser, they
named it ECMAScript. They used a different name because JavaScript is a
trademark.
As I understand, JScript is just the Microsoft name for JavaScript, again
because of the trademark issue. The ActionScript language is a completely
different thing. It's solely or mainly used bу Adobe Flash programs.
All widely used browsers (free or non-free) use JavaScript/ECMAScript.
HTML, HTML5 and CSS
Labeling things as HTML5 doesn't make sense anymore. It's nothing but a
marketing word nowadays (a buzzword) and it only brings confusion and
misunderstanding. There's no HTML5 in practice, only historically.
You have various specs (specifications) describing different features which
browsers should implement. When a browser implements something you can make
websites using those features. There are many specs and new ones are written
regularly. For example, some of the major specs are:
HTML Living Standard: https://whatwg.org/html
It describes the basics of HTML, along with other more advanced things,
such various web APIs used by JavaScript.
The spec is changed regularly (almost daily) as new features are added
and removed - that's why it's called a "living standard".
CSS2: http://dev.w3.org/csswg/css2/
It describes the basics of CSS.
All other CSS specs build upon this one.
Along with those two, there are many separate specifications describing
additional web features. Here are for example some of the additional CSS
specs:
http://dev.w3.org/csswg/selectors/
http://dev.w3.org/csswg/css-images/
http://dev.w3.org/csswg/css-color/
http://dev.w3.org/csswg/css-flexbox/
http://dev.w3.org/csswg/css-align/
The DOM and web APIs
JavaScript is scripting/programming language like any other. It's not
specific to the web in any way. But when you use JavaScript in a browser you
also have additional to web specific features, like being able to
interactively change things on the page.
The thing which enables you to change things on the page is called the DOM.
It's an API used by JavaScript in web browsers.
There are many different APIs which enable you to do different things. Some
of them are bundled in one spec, some have a separate specs. The APIs do
things like reading data from files, saving offline data (similar to
cookies), loading fonts from websites, drawing 3D graphics and so on.
Here are some web API specs as an example:
https://dom.spec.whatwg.org/
https://whatwg.org/html#webstorage
http://www.w3.org/TR/IndexedDB/
http://dev.w3.org/2006/webapi/FileAPI/
http://dev.w3.org/html5/webvtt/
Some seem to label all web APIs as "the DOM", but I don't think that's
technically correct. The DOM certainly is one of the major web APIs in any
case.
PHP, Ruby and Python
If you are contemplating on which language to learn from these three, I would
suggest Python. Unlike the other two, Python it's also widely used to write
other types of programs too, not just for web sites. A lot of GNU programs
are written in Python.
Where to Start
I don't really know where to start from.
I've never read any books on web developments, so I can't recommend any.
I've started by reading various HTML, CSS and JavaScript tutorials on the
web.
Nowadays I notice that most tutorials are actually wrong in many aspects.
They teach bad practices and deprecated features. You should be aware of
that.
The most accurate info I find is on https://developer.mozilla.org/ and
definitely in the specs. That's what I usually read this days. Although
both are kind of hard to understand, if you are a beginner.