RMS Asks Miguel to Explain Himself
phaze3000 writes "RMS, responding to questions from the audience at the World Social Forum in Porto Alegre, Brazil last week, has asked Miguel de Icaza to explain himself to the Free software community about comments made last week that Gnome should be based on .NET in the future. More details at Brazillian site Hotbits and in The Register." I find this amusing.
The man is getting old and it shows.
Your pizza just the way you ought to have it.
KDE probably isn't looking so bad to RMS right now.....
I'm not sure Miguel *CAN* tell RMS to fuck off. Doesn't RMS hold the trademark on "GNU"?
Fascism starts when the efficiency of the government becomes more important than the rights of the people.
This is a *little* disconcerting for some, but I applaud Miguel's willingness to embrace the technologies he feels are best, regardless of the political fallout. Given the amount of XML stuff in Ximian Gnome / Nautilus etc, it only seems natural to move towards more RPC based standards. The fact that one of them is being developed by Microsoft should not IMHO be an obstacle to progress. Now if they would just fix the fonts! ; )
I think people have misunderstood Miguel. What he has done here is to use MS as an R&D dept. MS spent millions researching .NET and built a comprehensive set of tools. GNU (and the rest of us) can benefit from this research, they can take the best ideas from .NET and implement them in MONO. This is a GoodThing.
.NET and stick with the standards he wins because .NET will become fragmented.
.NET and C# are full of ideas borrowed from JAVA, DELPHI, DCOM etc. Why not pull an MS here and embrace your enemies. Take their ideas and run with them!
There could be a problem if MS shifts the spec or extends the spec. At that point if Miguel decides to chase MS he loses. If he decides to "fork"
I think Miguel knows what he is doing. I say give him a chance if history is any indicator he will kick ass.
In essence
War is necrophilia.
Now wouldn't it be funny if GNOME started basing itself heavily on Microsoft's architecture? I mean if I recall my history, KDE came into existence but it was based on the closed QT libraries. So then the GNOME project was founded to be a more free software purist environment. Now it seems that things are getting reversed now that you can get an open version of QT.
This sig has been temporarily disconnected or is no longer in service
quote:
.NET - you use the .NET API - the classes [sic.] they have defined."
"What's important to keep in mind is that you do not actually use the Windows API in
hello, what exactly needs further explanation? its brilliant.
Don't blame me - I voted for Howard Dean. http://dean2004.blogspot.com
Keep in mind that Microsoft has unheard-of amounts of money and lawyers to throw at the problem, and that they have demonstrated time and again that they have no scruples about doing whatever it takes to eliminate their competition.
If I was Miguel, I would tread very, very carefully when considering the adoption of Microsoft's "Open" APIs...
I don't care if it's 90,000 hectares. That lake was not my doing.
It would be very, very unfortunate if this debate just focused on the politics of Mono following Microsoft Dotnet. Miguel might be misguided in this aspect, but his strategic vision of what is critical for the future growth of Linux-the-platform is far more attuned to current trends than anything RMS, ER or LT have articulated.
/. - of 27 postings on this topic (see my user info), only one was ever moderated up, and that was promptly moderated down again ('overrated'). Draw your own conclusions!
He realizes that without a VM and the cross-(hardware)-platform capabilities it gives, Linux apps are going to be very hard to distribute in future. Normal consumers simply aren't going to run C compilers, yet the Linux "architecture" takes absolutely no account of this.
By the way, it is customary for the 'strategic VM' debate to be ignored in
But .NET is actually a pretty well thought out and designed plan. If you take off the blinders and look at it, .NET really makes sense.
What should open source do? Should it push forward a political agenda, or strive to provide people with the best possible products? Personally I could care less about RMS' agenda. To me open source is about options, and I applaud Miguel for working to provide people another option.
Pinning GNOME to .NET sounds like a braindead idea to me anyway. Perpetually playing catch-up and being involved in an arms race with MS. If you have any knowledge of the history of computing then you'll know the sands of .NET will continually shift.
.NET
/. about it!
Just look at the lineage :
dde, ole, ole2, com, dcom, dcom + mts, soap,
J++ & Active Directory probably fit in there somewhere too.
Pinning your business model to any of these technological donkeys is an expensive move.
to paraphrase :
The MSDN treadmill moves pretty fast, if you don't look around once in a while, you might just miss out!
Everybody has a duty to question, I'm glad RMS has done it so publicly because if it was me that asked then I doubt we'd see any discussion on
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Yes, we hate MS. We really hate MS. MS is bad, mmkay? Now that that's out of the way...
.NET is coming, lets not dilute ourselves about that. MS owns the desktop, and if they want .NET, odds are, good or bad, .NET is making it into peoples homes. So our choices are simple, we can ignore .NET, do our own thing (bonobo, watever) and stay a fringe group (dont kid yourselves, were a fringe group) of radical non-windows folks. Or, we can do the smart thing, offer full .NET compatibility. If we do that, and manage to keep up with MS's API changes and whatnot, when MS phases in .NET as the only type of app out there, we're ready, and we've got a real shot at the desktop. Want to run office? Go ahead, we can install it from your MS CD with no problems (no WINE, no emu, native). I, for one, can't wait for .NET on linux. I'll be coding my web services in VS.NET while still hacking perl in my bash console.
.NET, and let MS develop the software. Seems very logical to me, I dont understand what the problem is. Yeah, we're imitating 'the beast'. So what? Immitate now, dominate later. If linux is to make it to the desktop, it needs to catch up to windows, and this is the quickest, most painless way I see of doing this.
.NET on linux, it gives .NET more market penetration, but then again, once .NET is on linux, who needs windows?
.NET is new, its untested, its unproven, but the simple fact is, it's a very promising platform. Yes, MS built it, because they have the resources to. Why not use it?
Slashdot keeps talking about how we need to make linux so easy that my grandma can use it, here's our chance. We copy
Yes, I'm biased, I contribute ALOT to the Mono project, but I honestly believe that without something that gives native compatibility with windows apps, linux will stay on the server, and my grandma will keep shelling out for new versions of windows.
And one more thought, MS isn't trying to kill mono. Has it crossed anyones mind that this is our chance to get MS to help kill themselves? They want
Yes, this is a rant, and I'm sorry for any grammar/spelling errors. But, before you mod me down into oblivion, seriously think about this. This really is a good thing(tm), and is the best bet of linux getting into mainstream desktop land.
-
RMS is a person; try to avoid ad-hominem attacks and instead focus on his acts & ideas
-
Miguel de Icaza also deserves the same respect
-
MS is a business - it is not inherently evil nor has Bill Gates been conclusively identified as Cthulu-Jr
-
MS puts out lots of ideas & products. Just like with any other ideas they can be used for good or ill, or as intended by MS or not
-
RMS through the GNU licenses does have an interest in how & where they are applied (to ensure compliance.) It is reasonable to anticipate possible conflicts and resolve them early
Or this can all degenerate into a bunch of folks screaming how they don't like whateverI don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
Yes, but he didn't say that GNOME would be based on MONO technology. He said it would be based on ".NET" technology. While we all know that it would have to be MONO to run on Linux, his statement becomes an extremely powerful marketing tool for Microsoft. As such, RMS would rightly be opposed to such a statement.
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
Read Miguel's clarification of what he meant by GNOME taking advantage of Mono.
.net. It just might deliver what CORBA only promised, language independent component reuse. I know I wouldn't mind mixing for example Kylix generated GUI frontends with Java/C# running the logic in the background, transparently (and natively!). I surely hope that by the time we reach GNOME 4 (and we're talking 2-4 years from now here) we're not still writing GUI applications in C, as is the state with most GNOME apps now.
.net, it's not controlled by Microsoft, it's a reimplementation of the .net class libraries while also bringing in a C# compiler as a bonus (Believe me, there are plenty of worse languages to code in). The Mono libraries are Open Source (Same license as Xfree86, and I don't hear anyone bitching about the license of that particular piece of software) and will probably help bring a lot of new neat Open Source applications, giving especially GUI programs a boost.
Mono has a lot of technical merit, don't shoot it down only because it's based on
Remeber that Mono isn't
What is in my best interests is to have multiple, robust, "genetically isolated" choices for the critical technology my business needs to use. "Cross-pollinating" two of those choices so that they are no longer separate is not a good idea.
And have we already forgotten Microsoft's attempt to ban non-IE browsers from "their" web? Although I often do not agree with RMS' more extreme positions, I think he understands quite well that you can't be a little bit pregnant, nor can you sell a fraction of your soul to the devil.
sPh
Given this plethora of PRE-EXISTING software that is open, mature (or at least written by people who know the problem-space damn well), and standard, WHY would anyone want to port GNOME to
Whether you like RMS or not, the point is that he is very right to question the validity of using
But whether it's possible or not doesn't matter. Miguel's complaint was there was no realistic alternative. I've listed several. Now, I expect (as a GNOME user) a damn good reason why I shouldn't just pick up the GNOME sources and fork the hell out of the tree, to make them OPENLY networkable.
I don't like code-forks, when they're not necessary. It's a lot of hastle to maintain them, keep things in sync, etc, but I don't cater to fools, either.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The article points out that it should be OK for the free software community to implement MS API's like SMB (SAMBA) and Windows itself (Wine) because they are already established standards, but it should not be alright to implement .NET because it is only an emerging standard not yet heavily adopted by many.
.NET is popular and widespread before starting a compatable project, then it will already be too late and you will be eternally playing catch-up. Think how much more accepted Linux might have been if it was also able run Windows applications well from the get-go.
.NET becomes very popular and widely deployed as Microsoft wishes it to be. In this case Linux and other OSS will benefit from already having a .NET implementation (Mono) in place. No need to spend two or three years to play catch-up while OSS loses market share to MS.
.NET is a bust and never becomes popular or widely deployed. Microsoft loses big time (since they are hanging their future on it), and OSS (mainly just Ximian) loses a gamble by having wasted some development resources. Big deal. And mainly just Ximian would have lost anything, the rest of the OSS community will have lost very little.
.NET and C# become widely deployed and OSS operating systems are caught with their pants down, not being able to host any .NET related services or applications.
I disagree with this conclusion. Why wait. If you wait until
Here are the two possibilities:
1 -
2. -
These two alternatives seem better than the third possibility, which is that
Did you read the article? RMS was asked about how he felt about Miguel's moving Gnome to .NET, he reponding saying he(RMS) found that hard to belive, anf if it was true he asked Migual to explain the move to the free software community. Thats all.
And gnome is not Miguels.
disclaimer-- I have recieved a very nasty email from Ximian basically telling me where to put, afer I emailed them looking for how I could contribute to the project, so I pretty much hate those guys. Ilike Gnome, I just think they're assholes.
The Kruger Dunning explains most post on
The GNOME project had the opportunity to go with a better toolkit than Gtk+ and they blew it. Everyone said writing a GUI in C with #defines to pretend you have object support was a lame attempt at a good C++ gui library. There are plenty of alternatives to Qt now and Qt is available under the GPL anyways, so if you dont like writing GUI applications in C and you're not fond of basing your future on a brand spanking new language and a completely unstarted class library toolkit, then there's plenty of space on the other team.
How we know is more important than what we know.
I think this is the crucial moment for RMS where he either becomes more flexible or risk alienating the remaining few developers who still rally around him and his ideas.
I believe you've got it backwards.
Keep in mind the number of GPL evangelists in the world. Not many, hey? Certainly not enough, and definitely none with the power that Microsoft's PR department has.
We should be thankful that there's a guy out there who risks mockery on a regular basis in order to try to ensure some balance. His role isn't to represent the average coder, it's to give us an extreme point of view opposite of what's normally given out there in the world of software -- corporate corporate corporate.
The man is getting old and it shows.
Look, if you don't like him, tune him out. But don't underestimate his importance. He gives us balance where the Microsoft monopoly would like us to believe it's their right to bleed us dry of every penny we've got. You might as well criticize the Yin Yang symbol for not being all gray.
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
If you don't like the proprietary java runtimes, there's nothing stopping you using an open-source one (kaffe), or coding another one yourself. You just won't be allowed use the Java trademark if you don't pass a load of strict compliance tests. Hint: This is very similar to the situation with Mesa/OpenGL or Linux/POSIX...
.net equivalents.
.net for the near term, I predict a situation similar to Netscape and the HTML spec, back when Netscape was the only major web browser - they'll just embrace/extend it whenever they want...
Java is a standard, and it is pretty much as open as postscript or pdf. The standards publishing body for Java is Sun, and for ps/pdf, Adobe. Note the presence of an open-source implementation of postscript, cunningly called "ghostscript"...
You can download extensive java specifications from Sun - and not just a nearly-useless core yet-another-c-family-language and some system libraries specification like MS's for-show C#/CLR ECMA submission, with java, in addition to the VM and language, there's full and voluminous specifications for all those add-on java packages like Java3D, JAXP and whatnot - MS makes a point of NOT standardising the
They are all downloadable documents. Sun can't reach onto your harddrive and mutate them once you've downloaded them. Sure, they could release a new version of the spec, but the hypothetical version you coded could still be fully compliant with the old spec.
This is in marked contrast to MS, which doesn't even bother fully specifying most of it's APIs, in fact, is reknowned for such behaviour.
There are multiple independent implementations of Java and its very extensive addon libraries (like the J2EE environment).
So, which would you prefer - a mature de-facto standard with multiple competing, yet interoperable, implementations, or an "official" standard with no finished implementations from a company that's well known for breaking compatibility whenever it suits? Given that MS will still contorl the only full implementation of
Sure the standard has ECMA's rubber stamp on it - but what matters for implementation is freely available specifications, not the rubber stamp... Witness the popularity of R5RS scheme, or internet RFCs or I'm-not-officialy-opengl-but-who-cares Mesa.
Anyway, when I last checked, C# didn't even have mandatory-checked exceptions. That alone is enough to reomve it from consideration for a large swathe of corporate development mixed-ability team projects....
The permssions security model of any modern JVM is pretty damn fine-grained, more than enough for my needs. Don't confuse it with the primitive sandbox of early java.
What I really hate (and this is a general remark, not accusing the parent post or anything), is people who judge Java by Microsoft's antiquated and incomplete implementation of it. For god's sake, install the Sun Java2 1.3.1 or 1.4 JRE, don't judge Java's by MS's (presumably deliberately) shitty implementation.
Personally, I'll just keep on using Lisp for my development work, but there's millions of corporate drones who'll be told to use either Java/JVM or C#/CLR.
Choice of masters is not freedom.
I think a lot of /. folks are letting their RMS disillusionments take control. I personally would definitely NOT like to see the Free software world start using Microsoft-invented, Microsoft-owned, Microsoft-patented technology if it can be helped.
This is like turning Gnome into a Windows app. Sure, .NET sounds cool from a technology point of view but you should know by now that technology doesn't live in a vacuum. As soon as anything based on .NET becomes a threat to Microsoft, they will cripple it, through technological or legal means.
The Free software community should stand firm and develop and use open technologies, and not even pay lip service to .NET.
I agree with the view taken by Nick Peterly (or whatever his name, I can't remember right now) that Miguel has been baited by Microsoft .NET and this will just give Microsoft a way to try and subvert Free software. Maybe that's not what MS was thinking at the outset, and not what Miguel is thinking, but it will be possible and we shouldn't allow MS that kind of power.
I for one will lump anything that uses .NET in with Microsoft products, even if it's "open source". Why take the chance? I'm surprised that so many /. folks are calling .NET "progress" or "a standard". It's just a Microsoft technology.
There could be a problem if MS shifts the spec or extends the spec. At that point if Miguel decides to chase MS he loses. If he decides to "fork" .NET and stick with the standards he wins because .NET will become fragmented.
.NET requires interaction with a server somewhere. If the service you're trying to use is a Microsoft one, that server will be inside Microsoft. Now, if Gnome can't use that service, why would anyone choose to use it.
.NET what exactly would be the incentive to stick with his version? Forks are always resolved by market share. Guess who's got it.
No one who's been paying attention has any doubt whether MS will extend the standard. All they have to do is require a (patented) process to access a single part of the system.
Remember,
With Microsoft being the defacto standard, Gnome needs a compelling reason for people to switch. Aiming for where Microsoft was two months ago doesn't provide that. More importantly, if Miguel were to attempt to fork
Nope, no sig
Consider several things...
I'm not sure there's much here to worry about -- other than making damned sure that free code doesn't somehow become proprietary through various license follies. On that issue, people like RMS have my heartfelt thanks for their vigilance.
All about me
.NET is a framework. In short, it simplifies development. It makes programming with SOAP, COM+, etc. a lot easier. You're not limited to one language, you can use Python or Perl or C# or VB and plenty more languages to create .NET applications.
.NET service but I don't think it'll take off because it's kinda complicated for administrators to set it up, you have to get permission to use it, etc.
.NET is not that amazing. Well actually it can be amazing if Broadband and Wireless internet connection became mainstream but that's not gonna happen soon.
"and it is going to have on one great big server: all the data about me that the CIA(or any advertising agency) could ever want"
That's passport, it's a
That's MS marketing at work,
You're Free to do whatever you want in GNU land, as long as it's exactly what RMS wants you to do.
- One need not have an investment to comment or have an opinion on a subject.
- The "G" in Gnome stands for GNU, which RMS very much does have a legitimate interest in.
I'm sorry - when did a dresscode get implimented? Please submit an 8x10 glossy of yourself for us to comment upon before you make another such clueless posting.I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
that's the point. Miguel can speak for Ximian and say "I plan to base Ximian Gnome 4.0 on .NET and hope other Gnome developers will follow suit) but he can't declare what path Gnome will take.
While its true that many key Gnome developers do happen to work for Ximian, not all do. Also, there has been financial support for the Gnome Foundation from other companies and individuals.
Also, by using the GPL on their code they relinquished the right to withdraw it. By accepting the contributions of others (not employed by Ximian) they have agreed to the terms of the GPL and can't just steal other people's code, however insignificant they feel those contributions to be. They can request permission from those other contributors or extract the "tainted" GPL code, or all Gnome developers may choose to develop on the Microsoft.NET framework, but it's not a pronouncement Miguel should make without even discussing it with the community.
The "Gnome" trademark may be owned by the FSF, as well, which complicates things.
Windows, at present, only supports a single platform. Because of this they have no cross platform instalation issues. You must be thinking of some other operating system.
.NET. The XML services are another part. The tech is separate (though plays nicely together), but all part of .NET.
Rewind the clock. The AIM alliance (Apple, IBM, Motorola) are cranking out faster PPC chips, the Alpha research project is bearing fruit, and Intel can't get the Pentium to move. They start playing tricks like they did at the end of the 486 era with faster processors then busses, but they can't really get the speed up.
Intel looks like a dead end.
Microsoft's NT project looks like it will divorce them from Intel. Their NTVDM, based on an old OS/2 VDM (IBM's later version was better) can emulate the entire 286 instruction set, so you can run DOS apps inside of it. They develop NT on a non-Intel architecture (rumored to be MIPS) to avoid any Intel specific shortcuts.
NT 3.51 supports the MIPS (there was a project with several companies to build a desktop PC on the MIPS line, NT was the OS, and Intel pulled tech specs for their stuff from everyone involved ).
NT 3.51 supports the PPC. They are scared of Taligent Pink, the Apple/IBM project to build two OSes on the same core system. PC Users would run OS/2, Apple users their Macs, run the same applications with the different environments.
NT 3.51 supports the Alpha. The Alpha looks like it is going to be awesome and could carry Microsoft into the server rooms. It looks like a screamer. The AlphaPC, the cheap version of the chip, looks like a great processor. NT 3.51 and the AlphaPC could turn Microsoft into a workstation player and compete in the engineering space.
Intel is still moving chips cheaply (in the $400-$1000 range) so they are involved.
Microsoft has another project, Chicago AKA Windows 4.0 AKA Windows 93, released as Windows 95. It brings the Win32 API to the lowend world. Get your apps moved to Win32 from Win16, and you can move to Windows NT (but not OS/2). Stick to Win32s and IBM can still fight on with OS/2.
At that point in history, there was no Microsoft monopoly.
What happened?
Intel gets the Pentium Pro to perform well on 32-bit operations (though the 16-bit code in Win95 made it a dog there) and announces the Pentium II, a PPro without the expensive on-chip cache. Quad-PPros do okay as workgroup servers. The MIPS PC initiative dies out (taking one of the top graphics card makers with it, who couldn't compete without Intel's PCI specs early... and Vesa Local Bus wasn't keeping up).
IBM refuses to ship PPC computers (to run Windows NT) until they have OS/2 running there. Well, the OS/2 port couldn't make it. Sure their were dozens of machines build in Boca Raton, FL, they rocked. The PPC 620 was promissed with the 486 core integrated. Wow, OS/2 on a PPC with your old DOS/Win apps running on the 486 core? Never shipped...
NT drops to just the Alpha and x86. With no support for the other ports, Microsoft lets the development tools for non-x86 lapse. Visual Studio RISC was usually at least 1 rev back.
Alpha support drops out later.
Microsoft is now stuck with x86.
Itanium/IA-64 is on the way. Microsoft needs a 64-bit system to carry them up the food chain, and the Alpha is dead.
AMD's x86-64 is on the way, and while there is no official plans for Microsoft to support it, I'm sure that they will.
Microsoft is back to pushing cross platform.
J++ didn't get them there. The CLR may.
The CLR is part of
Microsoft HATES sharing their monopoly with Intel. Intel may be the junior partner, but they are there. Microsoft needs to increase its leverage. The CLR makes Intel a junior partner... VERY junior.
They can talk to IBM about PPCs, or AMD about x86-64.
Microsoft certainly has cross-hardware issues. Because of them, they are only on 1 platform.
NT is extremely portable.
x86 assembly code is not.
Alex
We're all jumping to conclusions trying to speculate what, exactly, did Miguel mean. There are SO MANY different paths that Mono / GNOME / .NET can take.
./ RMS-haters went nuts and 'interpreted' his words, too.
RMS simply asked the question, "please explain a little better, Miguel". He didn't flame him, and he didn't take an ideological stance, however the
Let's all sit back and listen carefully and only start the flame wars AFTER we get the whole story from both sides.
After this, it is kind of easy to reach to the conclusion that the ECMA standard has major deficiencies, that there is no way (apart from custom tool support) to tell if the code you are writing conforms to that standard and that Microsoft is most likely just paying lip service to the standards process, at least as far as the core .NET API's go. Java and Sun do a much more complete job of defining and sticking to specifications if the ECMA work is any sign.
Personally, I don't plan to touch .NET API's to develop open source software after this. My opinion is that Mono would be much better off if they develop their own cross-platform class libraries instead of using .NET API's. There is nothing preventing them from using CLI VM and multiple language support with their own class libraries. They are already writing everything from scratch, they might as well use their own design rather than playing catch-up to proprietary Microsoft API's.
"The deluded are always filled with absolutes. The rest of us have to live with ambiguity." - Aristoi, Walter Jon Willia
Miguel has now responded. http://mail.gnome.org/archives/gnome-devel-list/20 02-February/msg00042.html
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
I mean, really, he wants to implement .NET on Linux? Great! He wants to build a whole GUI framework out of it? Knock yourself out! People are feeling threatened? Did Wine threaten them? No, let Miguel do his thing, more the merrier, yadda yadda.
.NET's technical "superiority." That's open for debate. I'd love to see how that one goes.
.NET that's not ECMA (and maybe some that are) is still Microsoft's house... and doesn't that detail about how little of .NET has actually gone to committee keep coming up?
On the other hand, he did make some statements about
I've been thinking a lot about Microsoft, though, and how they could ever hope to fight against free software in the long run... I mean in addition to marketing and sales efforts. They could try to influence key players and/or figureheads, but that's risky and unreliable... they could use lawsuits. Non-fantastically-wealthy individuals, after all, are nothing but roadkill in American civil court...
Hey... Hmm...
Wouldn't it be interesting, if Microsoft were to play a game with Miguel - to lure him, his co-developers, and his users, by following Microsoft's (often implicit) standards, into treading over a set of Microsoft patents, or a EULA/UCITA-backed reverse-engineering lawsuit? To wait say, 2 years, or 3, and then when Gnome is installed in millions of places and Sun and Dell are prepackaging it, etc., and there are a lot of juicy targets in the crosshairs, all of a sudden, bust down the door and start serving papers?
Please, reassure me. Tell me why I'm wrong about this. Any part of
We're on the road to Tycho.