Is it me or is this extremely silly?

Story: Why free software shouldn't depend on Mono or C#Total Replies: 28
Author Content
r_a_trip

Jun 29, 2009
3:06 AM EDT
What RMS says is highly contradictory. How do you rhyme this:

This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good.

With this:

In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.

What use is building a Dot.NET framework, if you are then told you shouldn't use it? If RMS is right and C#/Dot.NET is a slow killing poison, why should we keep producing the stuff?

Since Portable.NET only implements the ECMA specs, it will never run MS Dot.NET apps. So the only use of GNU's Portable.NET is to write Portable.NET apps, which RMS just declared a dangerous undertaking which should be discouraged.

The mind boggles...
tracyanne

Jun 29, 2009
3:16 AM EDT
Quoting:What RMS says is highly contradictory. How do you rhyme this:

This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good.

With this:

In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation .....


Easy.

The first refers to .NET (as in Microsoft)

The second refers to Linux as in, it's preferable to write applications for Linux in other [Free] languages.

Which leads to the conclusion that Mono is great for funnelling applications written in C# on Windows to Linux, but should not be relied on for creating native Linux applications. So use Mono for what it's good for.
r_a_trip

Jun 29, 2009
5:05 AM EDT
Which leads to the conclusion that Mono is great for funnelling applications written in C# on Windows to Linux, but should not be relied on for creating native Linux applications.

A valid way of looking at it. It's only a pity that neither Portable.NET nor Mono have 100% MS compatibility (and probably won't ever have it). So both are useless as a means to get Windows Dot.NET apps running on other platforms (in unaltered form).

Which only leaves Portable.NET and Mono as development platforms... Which we shouldn't use as they are "poisonous". So implicitly, if we shouldn't leverage them for development, both Portable.NET and Mono are a waste of time.
tracyanne

Jun 29, 2009
6:44 AM EDT
I neither agree with him or you.
softwarejanitor

Jun 29, 2009
12:23 PM EDT
We should use things like Mono strictly as a way to help get Windows users to a free platform. We should not encourage its use by people who are already on free platforms, instead we should embrace a truly open (and free from a cloud of legal uncertainty) environment and applications for developers and users.

That r_a_trip says about Mono being an incomplete solution is unfortunately correct and I also believe it probably will never be complete because Microsoft will keep moving the target to break compatibility. That is partially to keep their upgrade gravy train going and partially to fight competition.
tracyanne

Jun 29, 2009
5:13 PM EDT
Quoting:That r_a_trip says about Mono being an incomplete solution is unfortunately correct


In what way? please elucidate.

Last I looked Mono had everything needed to build robust Enterprise quality applications on Linux/Unix systems.
softwarejanitor

Jun 29, 2009
6:03 PM EDT
@tracyanne Mono is incomplete as a solution to port existing .NET apps to Linux. That is the only purpose I think it should be used for. Once users have migrated to a free platform they should cut the chains that are tying them to their previous platform, and that would mean switching to an open development platform/tools/framework/language for future development. For those wishing to develop free software targeting Windows, I think they should likewise use free software to do it. And definitely we shouldn't develop Linux apps using something that is less than unquestionably free.
tracyanne

Jun 29, 2009
6:33 PM EDT
Well last time I looked Mono was Licensed under the GNU GPL and other Free Licenses. So please tell me in what way is Mono not Free?
r_a_trip

Jun 29, 2009
6:44 PM EDT
So please tell me in what way is Mono not Free?

Well, there is the MS FUD factor of "We could sue!" But the longer I look at it, the more I'm convinced that MS can't do anything that won't start a full out patent war. So I'm starting to lean towards just using Mono as a full fledged development platform. Hey, if MS goes of their rocker, we can alway port the apps to other languages.

It's just that I can't wrap my head around RMS' position. We shouldn't use .NET on Linux as a development platform, but use it to make non-free apps free. Well, what is the point if you believe that .NET on anything other than Windows is poisoned and will lead to the loss of .NET on Linux/*BSD. All the porting efforts to Portable.NET or Mono will be in vain if RMS is right and the free .NET implementations are ticking time bombs.

So his position is inherently contradictory.
Sander_Marechal

Jun 29, 2009
6:48 PM EDT
Quoting:So his position is inherently contradictory.


I disagree. See the other thread about this.

Quoting:we can alway port the apps to other languages.


Easier said than done. That will take an enormous amount of developer time. And developer time happens to be one of the most valuable resources in the FOSS community.
r_a_trip

Jun 29, 2009
7:00 PM EDT
So his position is inherently contradictory.

I disagree. See the other thread about this.


You can't free apps with an inherently non-free platform (regardless of GPL licensing). If RMS believes that Mono and Portable.NET are patent minefields, then saying you can use it to free C# apps is a non -sequitor. If there are patent encumbrances which prohibit sublicensing (propagating), then the stuff is non-distributable.

Since both Mono and Portable.Net won't ever be 100% MS compatible (Portable.NET by design), you can't even use it to run MS .NET progs on it. So even as a runtime library it falls woefully short. RMS position is untenable. If .NET is non-free, then it falls under the Java trap (Java prior to GPLv2 licensing). Code can be freely licensed, but if it depends on non free components, the app is effectively non-free because of that dependency.

So if Mono/Portable.NET are believed to be MS controlled Nuclear Warheads, we can't use them. Period.

I don't believe this is true. MS would face serious retaliation if it sued over .NET patents. So it stays with saber rattling. But they sure laugh their heads off with us squabbling over Mono... In the mean time MS is finding new ways of locking in their old sheep.
Sander_Marechal

Jun 29, 2009
7:31 PM EDT
The point isn't to free the .Net app. It's to move the OS and software stack underneath it to a Free one.
softwarejanitor

Jun 29, 2009
10:18 PM EDT
@tracyanne MS has filed a number of patents specifically relating to .NET, and has only "freed" parts of the spec as "standards". MS's stuff is all under non-free licenses, and ECMA is little help since they are a sham of a standards organization, basically rubber stamping member company's proprietary standards. In order to build enough of Mono compatible to port any significant working Windows .NET apps they've almost certainly infringed on MS's patents. While I agree with the people who say that MS probably can't go after Mono without starting a patent "nuclear war", I don't trust them not to start Armageddon if they finally decide they are losing the war.

@r_a_trip I think RMS's arguments make total sense (and I don't always agree with him). That said, I understand that there are contradictions in his argument, but there are contradictions in MS's positions too... Are they for or against free and/or open source software? Depends on who they are talking to and what their agenda of the day is. The fact that all the arguments are messy is in my opinion more proof that Mono is a trap, not a refutation of that.
r_a_trip

Jun 30, 2009
3:38 AM EDT
@r_a_trip I think RMS's arguments make total sense...

I'm beginning to fear that I'm incapable of the doublethink one needs to see the sense in RMS' position.

Don't use Mono to develop FOSS apps, but use Mono to use your C# apps in freedom. What freedom?

For the sake of the argument lets assume RMS is right and use of Mono puts you in the cross hairs of MS and it is a question of when, not if, they will shoot you. It means that all the effort you expend on porting your Windows C# app (because Mono isn't a drop in replacement for .NET) will get you the four freedoms until MS' patent bullet hits you in the head.

If we accept the position that Mono is a poisonous apple, why is it OK to tell people they should eat it because it will free them from a closed source platform? Developer resources are precious, so FOSS developers shouldn't touch Mono. Why are we telling Windows refugees to expend time and money to move their apps to our MS controlled time bomb, because you will have the benefit of having moved the platform underneath to a free one? Your app is free, our platform is free, never mind the Mono guillotine around your neck in the middle.

It's just that I can't rhyme the "Mono is untouchable" with "Use it to free your .NET apps". Is it really better to have temporary software freedoms than to use a closed platform and not have your behind dragged into court over patent infringements?

If RMS is really serious about the dangers related to Mono, he should adopt a "don't even touch with a bargepole" position, not shielding FOSS developers already in the fold (discourage) and send Windows refugees in to the woods (Free C# implementations permit users to run their C# programs on free platforms, which is good.).
Sander_Marechal

Jun 30, 2009
4:58 AM EDT
Quoting:Is it really better to have temporary software freedoms than to use a closed platform and not have your behind dragged into court over patent infringements?


Yes. RMS is a developer. Even he knows that it is impossible for a company to throw away all their existing .Net code and start from scratch on a Free platform with a Free stack.
krisum

Jun 30, 2009
5:15 AM EDT
Quoting: Yes. RMS is a developer. Even he knows that it is impossible for a company to throw away all their existing .Net code and start from scratch on a Free platform with a Free stack.
Lets say that a company does port its code to Mono. So how do RMS arguments that apply to other C# apps do not apply to this code. And so how does Mono help the company at all when ultimately it should all be ported to some other platform.
Sander_Marechal

Jun 30, 2009
6:30 AM EDT
The point is that with a Free OS and stack underneath, new development can be done on the Free stack instead of in .Net/Mono. Which is just what RMS advocates. Use Mono to run old apps and write new apps on a different stack.
r_a_trip

Jun 30, 2009
8:53 AM EDT
The point is that with a Free OS and stack underneath, new development can be done on the Free stack instead of in .Net/Mono. Which is just what RMS advocates. Use Mono to run old apps and write new apps on a different stack.

For the sake of the argument, we'll again asume that RMS is right on the danger of Mono...

What part of Mono is an unacceptable risk didn't you read? Yes, it would be nice if everybody could switch to a free OS and application stack, but recommending to use Mono as a quasi-runtime for non-trivial applications is inviting people to jeopardize the viability of their own software stack.

If we are to accept the position that Mono is akin to a nuclear warhead with MS holding the patent trigger, why are you even advocating that businesses should port* their .NET apps to Mono? Mono is unprotected against MS. MS .NET at least is safe against patent attack from MS.

* Yes, I said port, because Mono is NOT binary compatible to MS .NET for non-trivial apps. Probably never will be.

If MS plays the patent card, everybody using Mono is liable and MS will ask for damages for patent infringement. So porting your safe true .NET apps to unsafe patent poisoned Mono is insane for a business.

If Mono is Russian Roulette, then the FOSS community will have to accept we have no easy answer to .NET because MS has made this technology inaccessible with patents. If someone has invested heavily in .NET, we will have to accept that person or entity is locked in to Windows. We can't ethically recommend using Mono to him if we ourselves don't even dare touch Mono.

Before we all hear lofty words about the importance of freedom and using free platforms and being able to switch away from proprietary software... We can't be taken serious as a community if we drag innocent .NET users in to a patent patent infringement quagmire, because we'd rather see them being shot down for using Mono than that we see them running licensed Windows.

That should be the consequence of declaring alternative .NET implementations a patent minefield which renders code written to it unusable in due time.
dinotrac

Jun 30, 2009
9:48 AM EDT
G - A - C - K!!!!

"Filing patents" on something does mean that other people can't do the same thing without violating your patents.

Three things come to mind:

1. Recent US Court decisions make clear that a number of software patents will not hold up to scrutiny.

2. A patent can, in rare cases, keep you from doing something, but, most often, there is more than one way to get something done. "Inventing around" is a time-honored art. Even if Microsoft does have .Net-related patents, and even if those patents are valid, it's possible that they can be invented around.

3. Microsoft sure has made a lot of noise without laying its cards down. If their hand was that strong, I'm a thinkin' they'd play it.
r_a_trip

Jun 30, 2009
10:39 AM EDT
@dinotrac

Well, I was playing devils advocate here. I seem to be very good at it ;-D I don't think that MS has such a strong position. They made C# and CLR/CLI an international standard. And their patents? Probably not that potent anymore after Bilsky.

My problem is with what I still see as a huge contradiction in what RMS said. I'll exaggerate a little.

"Using non-MS .NET is lethal. FOSS should stay well away of developing apps in it."

This simply jars with:

"But you can use this deadly poison to move your own .NET apps to free platforms."

On the surface it looks OK, but what is the point of using Mono to port .NET apps if the one advertising it tells you that the risks of .NET patents killing your apps on Mono some time in the future is huge?

It either is a blanket unacceptable risk or it isn't, but not both at the same time.
softwarejanitor

Jun 30, 2009
12:13 PM EDT
@r_a_trip I don't see why you can't understand that using Mono to port .NET stuff to a free platform is just a stepping stone. Sure, RMS would probably prefer that the software had been written on a free platform in a free framework to begin with, but it is a lesser evil, if only slightly to at least be able to free software from the Microsoft platform lock-in. Once people have been freed from the platform lock-in then they can start developing new software on free frameworks and eventually work to replace or completely free their old software. It isn't an ideal solution, but it is a pragmatic one that is better than nothing. That doesn't seem so hard to grasp to me.
rijelkentaurus

Jun 30, 2009
12:50 PM EDT
@dino, I agree. They've lost a lot of money to Free Software in a lot of ways, if they could launch a few lawsuits and get rid of it, it would have been done years ago.
krisum

Jun 30, 2009
12:51 PM EDT
Quoting: and eventually work to replace or completely free their old software. It isn't an ideal solution, but it is a pragmatic one that is better than nothing. That doesn't seem so hard to grasp to me.
No, its no solution at all. It only means that companies have to first port their apps to Mono, and then recode it in a different programming stack anyway. I do not see how the porting part is anything but a loss to a company and anyone in right mind would simply laugh at such a proposition.
bigg

Jun 30, 2009
1:00 PM EDT
In the room next to the patents, Microsoft is keeping the real Vista. They didn't want to unleash the real Vista on the world because they would have hated to hurt competing operating systems. Instead they released the low-quality Vista to give Linux and Apple a chance. It's only logical that they would talk about their patents rather than shutting their competitors down.

Back in the real world...if you have a legitimate patent claim against another company, you don't sit on it, at least not when you're Microsoft.
jdixon

Jun 30, 2009
1:08 PM EDT
> I don't see why you can't understand that using Mono to port .NET stuff to a free platform is just a stepping stone.

My personal opinion is that we're past the point where such "stepping stones" are useful.

Please not that the following is entirely personal opinion, and is worth what you paid for it.

Linux has reached the point where it's as good or better than Windows in most respects. However, it's not and never can be a complete replacement. Microsoft has done and continues to do their best to make sure that's an impossibility. Further, I think trying to make it into one is a waste of time. I believe we simply have to accept the fact that some people are going to choose to lock themselves into a Windows only environment. I don't have a problem with that; it's their choice to make. But continually trying to make it easier for them to convert to Linux, when they've chosen to go the other way, is pointless. It's better to concentrate on making Linux a better platform than trying to convert those who have no desire to be converted.

As to Mono: Mono may be a wonderful development environment, which will allow developers to code apps under Linux which will run under both Linux and Windows. Not being a developer, I couldn't and won't attempt to say. I do know we already have a number of solutions to that problem though, so unless you simply like Mono, it's not necessary. However, FOSS is all about software freedom, so if people want to use Mono, let them. Likewise, allow those who want nothing to do with it remove it, or not install it in the first place. There's room for both.
dinotrac

Jun 30, 2009
1:51 PM EDT
bigg -

Shame on you. I was drinking coffee.

But, yeah.
dinotrac

Jun 30, 2009
1:53 PM EDT
r_a --

Yeah, I know you were and you are correct.

There is something to be said about the benefit of porting Windows software to free platforms, but... not enough if it means creating a complete "poisonous" platform that wouldn't otherwise exist.

RMS is a smart guy, but that doesn't mean he always makes sense.
gus3

Jun 30, 2009
3:12 PM EDT
Quoting:if you have a legitimate patent claim against another company, you don't sit on it, at least not when you're Microsoft.
Sure you do. You whine and you bluster and you make lots of noise, and you be prepared if someone decides to call your bluff. But you don't tip your hand until necessary, especially if you're Microsoft..

This way, you have the advantage in other situations where your claim is a little more shaky. Other parties can't tell by the noise you're making whether or not you have the courage of your convictions.

(Oh, the irony of mentioning Microsoft and convictions in the same posting...)

(Yes, I know it isn't real irony...)
Sander_Marechal

Jun 30, 2009
5:43 PM EDT
Quoting:"Using non-MS .NET is lethal. FOSS should stay well away of developing apps in it."

This simply jars with:

"But you can use this deadly poison to move your own .NET apps to free platforms."


I think you're misinterpreting RMS's position here. It's not an either/or choice. Staying on Windows with yout .Net apps is entirely valid. RMS is saying that Mono should be used for people who want to run their .Net apps on Linux. He doesn't say that they should do so. It's the user's own choice whether to risk Mono or stay with Windows.

To RMS, Mono is like Delphi. An obsolete language provided for those who want to move to Linux but still need it. It's supported on Linux for those who choose to run their old apps in it, but we should not develop new stuff on it. Nobody is writing new Linux apps in Delphi. So why should we do that with Mono?

Quoting:Well, I was playing devils advocate here.


I know. Note that I am only trying to clarify RMS's position. I don't entirely agree with it, though I mostly do.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!