dc3dreamer
Observatory auto s/w developer
- Joined
- Jun 2, 2009
- Messages
- 9
- Reaction score
- 0
- Points
- 1
This looks awesome. Thanks in advance for your creativity and hard work!
I don't think this is an issue. First off, I doubt (that) many people will be running the thing in Linux anyway. Secondly, the core will never be able to run natively in Linux, so anyone running in Linux will have Wine or similar to run the core, and they can use that for the COI client.The more I think about this the more I see two potential problems.
1. Cross platform portability. Once the 2009 version is released, and OGLA matured a bit more, we'll see more and more people running on Linux. While the versioning system may be cross platform, how portable is the COI client?
1. Cross platform portability. Once the 2009 version is released, and OGLA matured a bit more, we'll see more and more people running on Linux. While the versioning system may be cross platform, how portable is the COI client?
2. This depends on the developers participation. It is possible not all devs will make their add-ons "COI compatible". Also, many older add-ons, whose developers are no longer interested, or unable to be found, will not be compatible. A system more like Portage would allow anyone to create an "e-build" type file (essentially just instructions for the add-on manager as to what the dependancys are, and where the files for that particular add-on can be found (address of repository)). This way even old "abandoned" add-ons could be included without repackaging the add-on and potentially infringing on anyones copyright. This could be very useful for add-ons that come with an installer, such as DanSteph's and Kulch's. When you select these add-ons in the client it would download the installer and run it.
It just seems to me that you are using a versioning system to do a package manager's job, but I certainly agree that a better way to manage add-ons is called for. Please don't think I'm trying to discourage you in any way, I just have the opinion that a package manager could be created that would do all this with less hassle for dev's and users both, and could be written in Java (or at least in easily portable code, perhaps using WxWidgets for the interface).
P.S. apologies for the run-on sentences!
An e-build file hardly counts as "another language". For the purposes of COI it would likely be a simple text file, and could (depending on how you write the client) could be as simple as a listing of the add-ons (if any) requireded, and probably which "repository" it can be found at. It's actually far simpler than expecting a developer to get to know any particular versioning system's "ins and outs". Learning to write a "COInstall" file is probably no harder than learning a whole revisioning system.One for the "e-build" file: thinking about yet another "language" to learn for addon-developers
No, he can't share it. Dan's license (as it exists today) explicitly prohibits re-distribution. "License issues" matter. I can't speak for Dan, obviously, and he may well be willing to allow re-distribution in this way, as long as he has control over which version of OrbitSound or UMMU is re-distributed. Or not, it's up to him, but Orbiter without OrbitSound is , well, not the Orbiter we know and love. OrbitSound is often taken for granted, as if it were a part of Orbiter itself, but it's not. Same goes for UMMU, which more than a few of the more popular add-ons depend on. I'd ask him how he feels about it before making any plans regarding his add-ons.But every user can take e.g. DanSteph's installer, install it over a certain revision in his COI and add it as an addon to the private repository. He could share it, too. Besides license issues, it wouldn't be different to Dan doing it himself.
One has only to search the forum for all the "Why isn't Orbiter Cross Platform?" threads to see this coming. Those posts are the tip of an iceberg - for everyone who complains, there are dozens, if not hundreds, of people who simply ignore Orbiter because it can't currently run effectively under Linux (even with WINE). I myself only kept Windows for running Orbiter. EVERYTHING else I do on my computer I do under Linux. It's a measure of how much I like Orbiter that I keep 30 Gb of disk space, and maintain an OS, just for Orbiter. While I respect Martin's (and your) right to use the tools he chooses, and the OS he prefers, I'm simply pointing out that a cross-platform solution will help more people than a "Windows Only" solution.While I personally doubt your prophecy
The fact that the Orbiter core can't run natively under Linux is irrelevant. The core doesn't rely on Microsoft propietary libraries (such as MFC) that a client MAY (don't know from what I've seen yet) rely on. Turns out that COI may be .NET, and if that's the case it's not an issue. I'm suprised that as someone who claims to use Linux, you are always one of the first to shoot down any suggestion that Orbiter may one day be used under Linux. That kind of prejudice does not speak well for your openmindedness. Just because you think Linux is only for servers doesn't mean you're right. I raised ligitimate issues, and Face presented legitimate arguments (and good ones, I may add) for his side. You have simply disrespected my point of view. Sorry, but you get no points for that. Your "Linux is only good for servers" mentality is not relevant to the discussion at hand. This is NOT another "Linux VS Windows" thread, so please do not go off-topic with your personal opinion about Linux's validity on my computer.I don't think this is an issue. First off, I doubt (that) many people will be running the thing in Linux anyway. Secondly, the core will never be able to run natively in Linux, so anyone running in Linux will have Wine or similar to run the core, and they can use that for the COI client.
An e-build file hardly counts as "another language". For the purposes of COI it would likely be a simple text file, and could (depending on how you write the client) could be as simple as a listing of the add-ons (if any) requireded, and probably which "repository" it can be found at. It's actually far simpler than expecting a developer to get to know any particular versioning system's "ins and outs". Learning to write a "COInstall" file is probably no harder than learning a whole revisioning system.
Mono is acceptable. Sure it can be a PITA, but anyone who can set up Orbiter under Wine and OGLA can probably deal with Mono, so I doubt that would be a real issue. Sad truth is that most regular Linux users are used to jumping through these hoops. However, you say the server is .NET, but how about the client? Most Orbiteers aren't going to be running the server side. If the client is also .NET I don't see a real problem. For all it's weaknesses, .NET is fairly cross platform these days, and getting better.
No, he can't share it. Dan's license (as it exists today) explicitly prohibits re-distribution. "License issues" matter. I can't speak for Dan, obviously, and he may well be willing to allow re-distribution in this way, as long as he has control over which version of OrbitSound or UMMU is re-distributed. Or not, it's up to him, but Orbiter without OrbitSound is , well, not the Orbiter we know and love. OrbitSound is often taken for granted, as if it were a part of Orbiter itself, but it's not. Same goes for UMMU, which more than a few of the more popular add-ons depend on. I'd ask him how he feels about it before making any plans regarding his add-ons.
One has only to search the forum for all the "Why isn't Orbiter Cross Platform?" threads to see this coming. Those posts are the tip of an iceberg - for everyone who complains, there are dozens, if not hundreds, of people who simply ignore Orbiter because it can't currently run effectively under Linux (even with WINE). I myself only kept Windows for running Orbiter. EVERYTHING else I do on my computer I do under Linux. It's a measure of how much I like Orbiter that I keep 30 Gb of disk space, and maintain an OS, just for Orbiter. While I respect Martin's (and your) right to use the tools he chooses, and the OS he prefers, I'm simply pointing out that a cross-platform solution will help more people than a "Windows Only" solution.
I'm with Face on this one. Until a week ago, I had never used any version control system. I've spent very little time using Mercurial in that last week but I was amazed at how easy it was. As far as developer work flow goes, it is nothing more than a few mouse clicks (I'm using TortoiseHg, you don't need to learn any command syntax) to commit locally and push your addons to a online repo. That is actually easier for me to do than the usual business I have to go through to publish an addon (not a lot less work but more automated and less error prone). It is even easier again if I have used Mercurial to manage my addon during development also. All I can suggest is try it yourself (unless you have already?).The more I think of it, the more I'm convinced that quite some folks will get a "Heureka!" once getting the concept...
Sorry, I'd thought that COI being .NET was a given from the start, since Face is our resident .NET expert...The fact that the Orbiter core can't run natively under Linux is irrelevant. The core doesn't rely on Microsoft propietary libraries (such as MFC) that a client MAY (don't know from what I've seen yet) rely on. Turns out that COI may be .NET, and if that's the case it's not an issue.
I will keep these points short and simple to avoid hijacking the thread further than we already have:I'm suprised that as someone who claims to use Linux, you are always one of the first to shoot down any suggestion that Orbiter may one day be used under Linux. That kind of prejudice does not speak well for your openmindedness. Just because you think Linux is only for servers doesn't mean you're right. I raised ligitimate issues, and Face presented legitimate arguments (and good ones, I may add) for his side. You have simply disrespected my point of view. Sorry, but you get no points for that. Your "Linux is only good for servers" mentality is not relevant to the discussion at hand. This is NOT another "Linux VS Windows" thread, so please do not go off-topic with your personal opinion about Linux's validity on my computer.
Technically, I can walk in to a bank with a gun, and walk out with a lot of cash.Technically, he can share it. If it is prohibited by law or not is something for lawyers, not technicians
I'm not exactly known for giving long detailed explanatory answers, and that can often come across as rudeness; sorry. I'm also apparently not as good at keeping track of other people on the forums as you are, apparently .Heilor, whenever someone dares to utter the L word here you exhibit a knee jerk reaction. Nowhere did I say that this NEEDS to run under Linux, only that it be useful to more people if it did. Nor did I advocate porting Orbiter - I'm much happier getting a new earth atmospheric model. It would be nice if Orbiter had been designed for portability from the start, but it wasn't. When Martin started Orbiter, Linux wasn't really a viable platform for this kind of thing. It had "ifffy" Open GL support, poor or non-existant graphics card drivers, and several different ways of handling sound. Joystick support was a joke. As you say, porting Orbiter now would require a massive effort that could be better spent elsewhere. With the NG core running relatively easily under WINE, and a native graphics client, there's not much point to it anyway. However, there is a huge difference between getting a non graphic app (such as the NG core) running under WINE than getting even the most basic GUI apps (even Notepad) to work. I wasn't aware that Face was the ".NET guru, and getting a .NET based GUI app to run under MONO is trivial compared to getting a non-.NET GUI app to run under WINE.
Nor have I ever advocated Open Sourcing Orbiter. The forking problem alone would make that a poor idea. I don't see any real advantage to it anyway. The OS model works for some things, but not all things. Next time please actually read my comments before reacting.
Agreed, although those threads are so very much fun!Let's just agree to disagree, and not clutter this thread with our personnal preferences as to OS, etc. I suspect you'll agree that the last thing this forum needs is another "Windows VS Linux" thread!
I'm also apparently not as good at keeping track of other people on the forums as you are, apparently .
Technically, I can walk in to a bank with a gun, and walk out with a lot of cash.
My point wasn't so much about respecting copyright laws, as it is about respecting Dan's wishes. Chances are he wouldn't hire a lawyer over software he gives away (no ROI in it), but he may well stop developing for Orbiter, and that would hurt us all. But I think I misunderstood you, it seemed that you were talking about something along the lines of redistributing an "Orbiter with add-ons installed", and you've made it clear that that isn't the case. You aren't redistributing an environment, just the "instructions" to create an identical environment. I can't see any problem there at all.
I think I was also a bit confused by the way you present this a a "versioning system". The more I come to understand your plan, the more I see that you are creating what I consider to be a "Package Manager", even though you use the vesioning system as a "backbone". My apologies for my misunderstanding.
...and there is no need to apology for misunderstandings...Face said:Using a distributed version control system for a radically new way of dealing with addons.
BTW, with Portage CVS is used primarily as a means of maintaining the repository. The purpose of the repository is to ensure that Portage can always find the app to download it, rather than reley on the dev's to maintain the package at the same URL. With Orbiter, the chance of files being "moved around" and lost is much less. It seems you've come up with a plan that doesn't require a central repository, which is fantastic. Maintaining a repository would require a lot of time from someone, and your plan will eliminate that. I guess my main objection was that using a full fledged versioning system for this is kind of like using a chainsaw to cut butter - overkill, and more complex than it needs to be. On the other hand, if it allows you to avoid re-inventing the wheel it makes sense. Dev's only would need to learn the subset of commands that COI needs, and not all the ins-and-outs, so it's not really significantly more difficult than learning to use a purpose-built PM.
Thank you for your patience with me on this, I guess I've finally had my Huereka moment.
(I'm using TortoiseHg, you don't need to learn any command syntax)
<?xml version="1.0"?>
<Settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/Settings.xsd">
<Tools>
<Log Command="hgtk" Arguments="log --nofork" />
<Commit Command="hgtk" Arguments="commit --nofork" />
<Shelve Command="hgtk" Arguments="shelve --nofork" />
</Tools>
<Local Selected="true">S:\Development\Mergingtest</Local>
<Local>S:\Development\letmetest</Local>
<Remote>file://S:\Development\Orbiter</Remote>
</Settings>
Wow, I just found this thread h:. This is some excellent work face!
Only question: How do I update the state of my local orbiter installation to have this tool installed xD ?