Showing posts with label opinion. Show all posts
Showing posts with label opinion. Show all posts

16.9.12

JavaScript rules!

There's a question I often ask myself: What's missing in Linux? In F/OSS world?
I have a list of answers for this question but there's one answer that might surprise you: We miss a general-purpose-easy-to-learn-easy-to-use programming language.
I think this answer might come as surprise to most people while considering the abundance of programming languages around us like Perl, Python, Ruby, PHP and others but I always felt there was something else missing. Looking back at history I would like to take a controversial example for this topic from the commercial world: The VB6 example. Sure it was a horrible horrible language but people actually used it for their every-day use. I used to see it all around - Windows people wrote utilities with it, wrote prototypes and in some cases even entire projects with it (god forbid!). People were happy with it and that's what really matters.

In the distant past I loved PHP so much that I used to have this "silly" idea that PHP should be used everywhere - on server side , on client side (because I used to think JS sucks), for shell scripts and even for GUI applications but my colleagues and friends used to dismiss this idea by saying PHP is good for server side scripting because it was designed for it and that's where it should stay. I guess they were right but the idea that one scripting language can and should be able to do everything was stuck in my mind. I was a good PHP developer but I never really got to know JS as well (and that's too bad) but since than a lot has happened.

JavaScript has got a new life and that's already old news by now! It got to be 1st place on some Language Popularity Ranking Lists and everybody noticed it - MS with their HTML5+JS applications in Windows 8 , Gnome (v3) having their new and shiny Gnome Shell written entirely in JS, QT with their QT Quick, Mozilla used it to extend Firefox in the past and now I have a feeling they will build a new OS around it.

A few months ago I decided that I had my fair share of living under a rock and that I should check out JS seriously. After looking for recommendations I bought "Javascript the good parts" and started using JS for a little web project I'm working on in the background. I decided to use the "full javascript stack". Here are some projects I found very useful and interesting in the past few months:

  • node.js (js in server side, check out npm - the nice package manager)
  • express (js framework to write server side applications)
  • mongodb (schema-less database, JS-like syntax for queries and JSON for results, very cool)
  • backbone.js (popular framework for client side)
  • JQuery (who doesn't know this one?)
  • Twitter Bootstrap (related to CSS but awesome for lazy developers who still like their poorly designed web pages to look good)
I don't know if it's the one language to rule them all (mostly because I was wrong so many times before :-P) but I can tell you one thing: The developers community is big enough, The projects are alive. Lots of ready-to-use components with permissive licenses, lots of support (in stack overflow). bottom line: lots of fun.

6.5.09

Why you probably won't see me on WINE

In Mark Shuttleworth's own words:
We need to make a success of our own platform on our own terms. If Linux is just another way to run Windows apps, we can't win.

link
/. link

I was trying to say similar(Hebrew-2004) things(Hebrew-2008) in the past but Shuttleworth did it better. Translation of my words to a user trying to run ICQ, Winamp and MSN Messenger on WINE:
.. You may not like the alternatives(The native Linux apps) but when you use Windows programs on Linux you use an alternative windows API to execute them and it's not only buggy and heavy on resources but eventually it will provide a really crappy user experience and you are expected to be "disappointed of Linux" real soon. I think you should consider trying the existing (Native) alternative applications in Linux. IMO you'll find them more usable than using WINE and sometimes even better than the Windows apps you were used to.


You can say the same thing about Mono but it might be an exception because currently both MS and Novel are behind it (until some s!@# will hit the fan.. I guess).

Anyway, here are two nice sites to add to your bookmark:
http://www.linuxalt.com/
http://www.osalt.com/

13.9.08

Why you probably don't want to get Mono/Moonlight

Previously on "FOSS Holly Wars":

Last month a big Linux/FOSS conference was held in Israel. You know, the usual stuff - some interesting sessions and geeky activities but this year was a little different. This year Microsoft was one of the sponsors (this is somewhat not surprising if you monitor recent MS activities).

Some Israeli community people made a big fuss about it and did their best to prevent this from taking place but eventually Microsoft not only had their logo printed on the official conference T-Shirts alongside the cute penguins, they also got session time to propagate their shiny new friendly face to the FOSS world. In this debate I took the side that agreed to allow MS have a word. I think it's important to at least listen before you judge something. But that's not want I wanted to talk about.

Amir Shevat of Microsoft spoke and demonstrated Microsoft's superior Silverlight technology and tried to convince the audience that the war between MS and FOSS is over and we should learn to work together. He claimed that Silverlight is cross platform and can be easily used on Linux (which turned out to be false). He tried to convince the audience that it's Free for use. I tried to get to the bottom of the use of the "Free" word again by asking Amir a simple question :
"Do you grantee that if I use Mono and the .Net implementation, I won't eventually be sued by Microsoft?". In a personal talk I asked him another question: "Is it redistributable?".

Attack of the Lawyers

The answer was "Let me check with the company lawyers". Later on, when Amir was confronted with the same question again, this time by the press(Hebrew), he replied "I'm a programmer, not a lawyer ...". Two weeks ago Amir had sent me the "lawyer's reply" presenting this link (AKA "The CNS" - Covenants Not to Sue Downstream Recipients). I promised him that I'll keep my blog readers up to date with whatever the answer is.

I think that in the F/OSS business each of us must be just a little "lawyerish" and be able at least to understand what the GPL3/GPL2/LGPL/BSD/CC means when we use and share code and content in our projects. That's why I think that reading this document can be done by someone like me (who is not a lawyer) and as you will see, reading it and noticing the important stuff is not a brain surgery.

So, Let's see what we have here ...

The user of Mono/Moonlight is allowed to be a "Downstream Recipient" who may use it, but ..
"An entity or individual is not a Downstream Recipient when such entity or individual resells, licenses, supplies, distributes or otherwise makes available to third parties the Moonlight Implementation."
Which means it's NOT RE-DISTRIBUTABLE!

Moreover, the CNS talks about "Downstream Recipients of Novell and its Subsidiaries".
And what if I'm not a Novel client?
What if I use Ubuntu, Redhat or Debian?

And what about this part in the CNS:
"Microsoft reserves the right to update (including discontinue) ... "
Microsoft can discontinue the CNS whenever they like to. So I'm asking - what does this CNS really worth? I guess not much because right now it's a good time for MS to collaborate with Linux and FOSS because they need every developer they can get to beat Adobe's Flash in their own game. But this might (and probably will) not be the case in the future.

Can this all be true? Is this the document that "allows" me to use Mono/Moonlight on Linux? because it sure doesn't sound like it. Did Amir mistakenly send me the wrong link?
(I'll go on with this post assuming it's not the wrong link, but you may correct me in the comments if you find other legal references and I'll do my best to update this post accordingly)

I wondered what Miguel de Icaza had to say about this and stumbled upon this link in which he says that he knows about these legal issues but at least implementing the VM is no danger and Sun is in the same threatening position as Microsoft. To this claim I can only say:
1. Sun never sponsored(2007!) a raging patent vendetta(2007!) against Linux in the past. (notice the links, this happened only a year ago).
2. Sun started releasing code licensed under the GPL3 (GPL3 carries with it an explicit patent grant). If they keep moving in this direction, the above MS-Sun comparison is truly void.

To conclude the way that I see all this: Microsoft picked a clever strategy in which they can make the omelet without breaking eggs. They get more developers on one hand (who are not lawyers and some don't understand the implications) and They still maintain full control and they WILL sue when their technology will beat the competing technologies (Flash) in popularity.

Practice what I preach


This information is very alarming considering the fact that Mono is already integrated and installed by default in Ubuntu, one of the major Linux distributions out there. But at least for now it should be easy to remove - only two application rely on it: Tomboy and F-Spot. Finding alternatives should be easy enough but we should act NOW to remove it from Ubuntu.

On the Personal level, as a Local(ized) Linux Distributor ([1], [2], [3]), I will remove Mono from the next version of Ubuntu Hebrew Remix and find alternatives for these applications.