Page 1 of 2
A case against Cygwin support
Posted: 02 Apr 2013, 18:36
by o11c
Note: this is *only* about the server, NOT about the client.
It is my opinion, speaking in my official capacity, that it is not reasonable to maintain support for tmwa on cygwin (which is currently the only method of compiling and running it on windows).
Reasons:
- Currently, there is some very ugly, bad-performing code that in the network and filesystem. I have a prototype that works on Linux, and could probably be ported to BSD if anyone needs it, but Windows does not support the underlying functions. This is the primary reason.
- It is hard to maintain two separate versions of code, especially when it's not being tested.
- Compiling software is harder in general on windows. For example, what if I need to add dependencies?
Rebuttals:
- Practically no one uses windows to run tmwa anyway.
- Client data, which is done by less technically-inclined users, can be tested without running your own server.
- We have the test-server.
- There are options for people who still use Windows as their primary system.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 18:39
by Big Crunch
o11c wrote:
[*] There are options for people who still use Windows as their primary system.[/list]
what are these options? I think it would be important to know if we drop cygwin compatibility.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 18:40
by Ablu
I would be against cygwin too. I would be for native windows support without the need to install cygwin stuff.
Then windows users could download a zip with all server stuff, run the server and start testing. I would not be impressed if that would make a lot more people starting to experiment with this stuff. Dropping windows support is a really bad idea i think.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 18:41
by Crush
There is the option to install VirtualBox, create a virtual machine, install a Linux distribution in it and install tmwAthena.
Providing a VM image where this is already set up (including Git etc.) might be a comfortable introduction for new developers.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 18:42
by AnonDuck
Are there any simple wrapper libraries you could use around these functions that are more portable? The phrase "Ported to BSD" makes me cringe.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 18:48
by Big Crunch
Crush wrote:There is the option to install VirtualBox, create a virtual machine, install a Linux distribution in it and install tmwAthena.
Providing a VM image where this is already set up (including Git etc.) might be a comfortable introduction for new developers.
that actually sounds like a viable solution.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:04
by Jenalya
Ablu wrote:I would be against cygwin too. I would be for native windows support without the need to install cygwin stuff.
Then windows users could download a zip with all server stuff, run the server and start testing. I would not be impressed if that would make a lot more people starting to experiment with this stuff. Dropping windows support is a really bad idea i think.
I agree with this, and if native windows support is not possible/feasible, I think having some kind of windows support is better than no support for it at all.
Since o11c mentioned it's hard to keep support without testers for it, do we have people interested in helping to maintain and test windows support of tmwa?
Independently from this discussion, I like the idea about a vm ready for development and testing.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:09
by Ablu
I think that the reason that you do not have active users for Windows is that it is not very nice to setup. So I guess it is time to try to get some Windows users by making that easier.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:13
by Big Crunch
i would be willing to help in any way i can. i have no idea how to push and pill things but i can test and see if a solution works in a local environ
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:25
by Frost
Ablu wrote:I think that the reason that you do not have active users for Windows is that it is not very nice to setup. So I guess it is time to try to get some Windows users by making that easier.
I've talked with some people on IRC who were installing into Cygwin. I agree, it discourages some people.
I like the idea of a VirtualBox image. We'd need to do a solid job maintaining a small (easy to download and install) VM. I've built server images before, and I could help.
I'd like to hear from some of the Windows people who would be the audience for this.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:33
by o11c
MadCamel wrote:Are there any simple wrapper libraries you could use around these functions that are more portable? The phrase "Ported to BSD" makes me cringe.
Heh, I've had to play around on Frost's box. BSD's kernel interface is full of fail.
I'm not volunteering to *implement* it, but I have looked deep enough to know that it's technically feasible (in some ways, arguably technically superior to the Linux way, but it's ugly because of that and I'd rather write elegant code.).
I've looked at libraries that try to do this. It's not a pretty sight.
Jenalya wrote:I agree with this, and if native windows support is not possible/feasible,
Right, it's not.
Jenalya wrote:Independently from this discussion, I like the idea about a vm ready for development and testing.
That could be beneficial, even for non-Windows users. But keep in mind that VM images are HUGE.
Ablu wrote:I think that the reason that you do not have active users for Windows is that it is not very nice to setup. So I guess it is time to try to get some Windows users by making that easier.
Windows can't really get nice to set up. And I'm not convinced there are Windows users who have anything to offer to us besides maintenance burden.
Big Crunch wrote:i would be willing to help in any way i can. i have no idea how to push and pill things but i can test and see if a solution works in a local environ
I know there are people who can do that. But the questions are really:
- Are there people who can maintain the windows support?
- Are there people who really need windows support?
Frost wrote:I'd like to hear from some of the Windows people who would be the audience for this.
So would I. So far, the people replying (except BC, who doesn't count) are the ones who don't have a problem using Linux, not the hypothetical Windows users we're trying to speak for.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 19:42
by o11c
Big Crunch wrote:o11c wrote:
- There are options for people who still use Windows as their primary system.
what are these options? I think it would be important to know if we drop cygwin compatibility.
Whoops, just noticed this, I'll reply separately.
The complete list, to my knowledge, of ways to run native Linux software on a Windows box is:
- backup your files, wipe your hard drive and install linux.
- repartition your hard drive to install linux.
- do a wubi install onto an NTFS file.
- use andlinux (only for 32-bit windows).
- use a VM.
- ssh to a real linux box. you can forward X11 also.
Re: A case against Cygwin support
Posted: 02 Apr 2013, 20:42
by Ablu
I would be cool with a vm solution if it is provided in a way that it would be only a unzip + go.
Though my concerns would be:
1) that the image would be rather large
2) that changing stuff and testing it on the server would not be that intuitive for people who are not used to linux/command line
3) updating the image all the time if something changes is a bit more work i guess.
The thing i dream off is: a downloadable zip that contains a ready to use server + game data that is rebuilt on server or gamedata changes. A small ui program that allows to start, stop, restart the server.
A linux vm would probably be commandline only (all other stuff would probably be way to large download wise). So probably not something that a Windows user can handle without a guide / help / reading stuff. I think the stuff should be that damn simple to use that making something wrong is nearly not possible (or at least is fixable by Windows default problem fixing (delete, redownload)).
Wrote this rather quick. So probably full of spelling errors.
EDIT: This was supposed to be posted earlier, but somebody was faster at replying.
Regards
Ablu
Re: A case against Cygwin support
Posted: 03 Apr 2013, 06:23
by tux9th
I like the linux VM idea best. I think it is not that hard to maintain. With a good tutorial on a stable OS this is possible on CLI only, even for windows users.
I also think that people who want to test things and develop stuff should get used to *nix anyway. I've never seen someone developing on windows anyway.
Maybe I'll look into doing tutorial and vm image.
also if the tutorial is written properly it doesn't have to be updated everytime you update something because you could write a routine to update the files and complie.
Though I must admit that I hate VirtualBox however love the free version of VM-Ware (VM-Player).
greets
Re: A case against Cygwin support
Posted: 03 Apr 2013, 07:53
by Crush
Ablu wrote:updating the image all the time if something changes is a bit more work i guess.
I imagine that we could save the image in a state where the console is open and a script is currently running which is just waiting for a keypress from the user to perform a git pull of the server source and data followed by building it. That way it will update automatically and hopefully will rarely require maintainance.