Live data from Hacker News

Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

natoshabard.com

41–50 of 114 posts

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#41
post #38

> it’s the place where case sensitivity problems really show up Who made the decision to have case insensitive file systems? If I had a time machine they would be high on the list of people to visit and give a stern talking to.

That crap is so frustrating. Especially since you can't fix it easily when working between multiple file systems. mv: ‘test’ and ‘Test’ are the same file Thanks, mv. Brilliant.

You mean in cygwin or on ntfs or so? Because on GNU/Linux with ext4 this works:

    /tmp $ touch test
    /tmp $ mv test Test

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#42
post #27

Earlier quoted context omitted.

> Given that, why would you assume Unity was the unreasonable party, and not Xamarin? I don't know what this means. What we know of the situation is that Unity doesn't want to pay a commercial license for Mono. This is even the way that pro-Unity/anti-Mono folks frame the situation. What do you have in mind here? > Regarding the copyleft license, while it is an option for everyone in general, it isn't an option for U…

It means: Xamarin offered a commercial license to Unity for $X under Y terms. We don't know what X and Y are, since this was not a public negotiation. X and Y could be reasonable, or they could be totally unacceptable. They could be offered in good faith, or they could not. We just don't know the answer, and you're assuming the party offering X and Y is reasonable. But it might not be. We don't know. edit to your edi…

There's no "opposite" emanating here. I'm making no assumptions beyond what we do know, and what I describe is what we do know, sans Unity's spin. There's only me saying, "I'm a little sick of seeing Unity's going swallowed without critique." You characterize that as unfair somehow.

Companies A and B couldn't come to agreement to license something under terms Y that include $X in payment. Okay. There's neutrality in that statement. My comment says that (and no more).

What let's not do is say, "That makes company B a bunch of jerks." That is what the comment I'm responding to does, and it exists in a sea of others with the same tack.

Overton window and that.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#43
post #34

> it’s the place where case sensitivity problems really show up Who made the decision to have case insensitive file systems? If I had a time machine they would be high on the list of people to visit and give a stern talking to.

If I had a time machine they would be high on the list of people to visit and give a stern talking to. Problem is that this goes back a long ways, e.g. back to the days of 36 bit computers. Why 36 bits? Because that was just enough to encode 10 decimal digits, the standard back then for scientific computation. Back then as in the days before core memory was used, so not much main memory either, and it was still expen…

I think the issue is related, but in the underlying problem is slightly different because in the cases you describe there wasn't even enough room for a second set of symbols, so in reality there was no problem. The issue arises when there is a second set of symbols that can be encoded by the computer.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#44

Gtk does sound like a better choice than raw X11, particularly as Wayland, Mir, and friends continue to grow.

Just curious. Why not go for QT for the whole GUI on all platforms?

Probably because Unity was a Mac first program. The Windows version came when it was 2 or so i think.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#45
post #32
post #26

Wow, I wouldn't have thought that folks would be sloppy about case, but I guess it makes sense if all one's used to is a case-insensitive system. > Same policy as with our runtime; in order to keep our own sanity, we will officially support Ubuntu Linux. … > Installer will (most likely – it’s one of the things we didn’t do yet) just be a .deb package. I really wish folks would support Debian first, and let Ubuntu sup…

I agree in both cases. There would be no Ubuntu today without Debian (although I've never installed it because I tried years ago and found it to be too difficult which is why I went with Ubuntu after becoming less than enchanted with RedHat) and really I thought case issues were a thing of the 90's, early 2000's at the latest. I've read that Debian has gotten easier to install though but I'm not sure from their web s…

I can totally sympathize, and we'd like to support every distribution. :-( But the simple statistics show that we get the most bang for our buck by supporting Ubuntu because of its desktop market share.

The great thing about the Linux community is that it's full if crazy smart people who will go out of their way to make sure stuff is working on their distribution. And of course if something isn't working on your distro, it'll be just like the player -- send us a bug report or poke us on the forums, and we'll do what we can. But in order to not spread our resources too thin (especially considering that this is starting off as an experiment), we have to set some boundaries, and we need to do what will make sense for the largest number of users.

And case sensitivity problems will exist as long as we have a mixture of some platforms (Windows/OS X) using case-insensitive filesystems by default, and others (Linux) using case-sensitive filesystems by default.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#46
post #12

Earlier quoted context omitted.

Because native GUI on Windows and OSX is better for those users and already exists?

I think native UIs are overrated and just cause headaches for developers. E.g. take the most popular UI system: HTML/CSS/JS: users have no problem with the fact that all their favourite websites look different. IMHO it is a better idea when the application enforces the same UI across platforms (like QT) than the platform expecting the same UI for all programs. On top of that QT does support native look&feel.

The truth is Mac user expect a Ui to look and feel native, otherwise you will be savaged in reviews, no matter how good your feature set.

You last sentence tells me you have never used a QT app on a Mac, because it does not look and feel native.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#47
post #27

Earlier quoted context omitted.

It means: Xamarin offered a commercial license to Unity for $X under Y terms. We don't know what X and Y are, since this was not a public negotiation. X and Y could be reasonable, or they could be totally unacceptable. They could be offered in good faith, or they could not. We just don't know the answer, and you're assuming the party offering X and Y is reasonable. But it might not be. We don't know. edit to your edi…

There's no "opposite" emanating here. I'm making no assumptions beyond what we do know, and what I describe is what we do know, sans Unity's spin. There's only me saying, "I'm a little sick of seeing Unity's going swallowed without critique." You characterize that as unfair somehow. Companies A and B couldn't come to agreement to license something under terms Y that include $X in payment. Okay. There's neutrality in…

You said

> So what we're really talking about is that Unity wants the improvements that have been made to Mono, but doesn't want to pay for them.

which paints Unity as the bad guy, when for all we know, it might not be. Perhaps Unity is totally OK with paying for a license, but the Xamarin terms would have bankrupted it.

But thank you for clarifying what you meant. I agree there is no point in saying either party is the bad guy, since there is not enough public information to know.

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#48
post #13

Earlier quoted context omitted.

That seems like a very unfair description of the situation. Do you know the specific licensing terms that Xamarin offered to Unity? Probably none of us here do. Given that, why would you assume Unity was the unreasonable party, and not Xamarin? Regarding the copyleft license, while it is an option for everyone in general, it isn't an option for Unity, which needs to ship on platforms that do not allow such licenses (…

I'm aware of the terms, and they were ridiculous. Unfortunately, I can't disclose them, but they didn't make sense, and that's why Unity is on the path it's on now.

[deleted]

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#49

> it’s the place where case sensitivity problems really show up Who made the decision to have case insensitive file systems? If I had a time machine they would be high on the list of people to visit and give a stern talking to.

I don't think the problem is having case insensitive file systems, the problem is having both on different platforms. A similar problem as with different endians. If everything were case insensitive, it wouldn't cause issues. While as a programmer, I prefer the level of precision case sensitivity provides, I'm hard pressed to make the case that it is better for an average computer user.

> I don't think the problem is having case insensitive file systems, the problem is having both on different platforms. A similar problem as with different endians. If everything were case insensitive, it wouldn't cause issues.

Indeed; if everything were case-sensitive, or case-insensitive, we definitely wouldn't have these problems. But alas, it's not, and in 2015 here we are still having problems with case sensitivity. :-P

> While as a programmer, I prefer the level of precision case sensitivity provides, I'm hard pressed to make the case that it is better for an average computer user.

I also personally prefer it ('a' and 'A' are not the same character!!!!), but I'm not sure if thats because it's inherently 'right' or because I'm used to Linux where case sensitivity is more or less a given. :-)

Re: Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

#50
About 12 years ago I worked on porting pretty large C/C++ codebase from Unix to be compiled also on Windows. What helped is that C/C++ part of the software had no GUI components (that was handled by Java) and by that time it has already supported Linux, Solaris, and HP-UX, which later were dropped, but we already had some experience of multi-platform support.

Yes, file system case-sensitivity and dispersed strictly hardcoded pre-processor directives were the problem, but they were the least of the problems for me (every codebase is different, so I am not doubting posted article). The differences between POSIX and WinAPI, GNU-isms in the code (Windows version was compiled by Visual C++ 2002 at the time), and support differences between C++ STL version were bigger problems.

My approach was to choose a C library specifically designed to support multiple platforms - Apache Portable Runtime (I also considered QT, NSPR, and GTK at the time). This helped tremendously and I would recommend doing the same to anyone doing similar effort or - better yet - start using something like that at the design stage.

Post reply on HN