In-Development TradeDangerous: power-user trade optimizer

The only copyright that has been asserted is Oliver's original, which says you can do anything provided it is included. My research (I did look this up extensively before making the change) says you can add restrictions, but not remove them - if you think differently wrt GPL or where multiple contributors are concerned, please cite.

As it stood, there was zero licensing, such that the entire project could be downloaded, wrapped up and released entirely as a closed project with 3 lines of Oliver's copyright included in a plain text header.

I pretty much went with GPL (after discussing with Eyonus) because EDDBLink is already under LGPL.

So before you decide to strike down upon us with great vengeance and furious anger, I am not averse to a less restrictive licence, so long as it ensures that TD remains free and open source. Maybe I should have thrown it out for discussion first, but I do want our hard work protected by something more robust than

Code:
# You are free to use, redistribute, or even print and eat a copy of
# this software so long as you include this copyright notice.
# I guarantee there is at least one bug neither of us knew about.

You are clearly allowed to release under a more restrictive license, and you're probably correct in that any contributions we made prior, if unrestrictive, can be rolled up. But what this now does is makes it virally copyleft going forward. For example, Mark now has to research what he can do with his helper tool if he's even linking to TD (since it's GPL and not LGPL). I personally am opposed to viral copyleftism, as I think it makes it impossible for work to be shared outside of the GPLverse. I understand why you wouldn't want to give away your work for free (although Oliver did :) ) so MIT/ISC/BSD may not be acceptable to you. Please look into the Mozilla Public License and for some background as to the problens of viral/restrictive copyleftism, please see:

 
Do you want to talk about this, with a view to potentially making a change, or just be the last angry man? If it was a dumb thing to do, I'm happy to discuss, but not if you are going to throw your toys out of the pram or take the bull in a china shop approach.
No, I'm not going away. I just think y'all made the wrong decision. I've also been an observed student of FLOSS licensure for about a decade, and have seen enough issues (between Wikipedia Commons, R packages, and other areas) to know that this can get very complicated and to become somewhat of an anti-GPL evengelist. So excuse the fire and brimstone :) Moreover, I can fork the project, reset the head to the commit before the GPL, and work on it myself if I have to. But no, I'm not leaving in a huff :D

I DO think though that you've put Mark in a tough spot if he is linking to your code. IANAL, but if you have to install TD seperately and all his button does is run it, that may be OK, but I'd have someone ask. If he packages TD with his helper, he may have to change that. But it IS something he has to research now, whereas before he didnt.
 
Last edited:
OK Cool. Let's not have Mark scurrying to the solicitor's office quite yet. I will have a read of the documents you've linked and being as eyeonus really has done the bulk of the heavy lifting, obviously his opinion counts for much. Certainly the current position is such that at present it can be changed.

EDIT: MPL would work for me - but ultimately it's eyeonus who has the final say.
 
Last edited:
OK Cool. Let's not have Mark scurrying to the solicitor's office quite yet. I will have a read of the documents you've linked and being as eyeonus really has done the bulk of the heavy lifting, obviously his opinion counts for much. Certainly the current position is such that at present it can be changed.

EDIT: MPL would work for me - but ultimately it's eyeonus who has the final say.

I'll say the same thing I said at the beginning.

Oh hell, I don't care. GPL I guess? Pick a copy-left licence that says free to do whatever as long as you give the original author credit.
 
Fine - so everyone would be happy with MPL2?

I just hit the sack, assuming there is no dissent, I will make that change when I emerge :D
 
I'll say the same thing I said at the beginning.

Fine - so everyone would be happy with MPL2?

I just hit the sack, assuming there is no dissent, I will make that change when I emerge :D
If you specuifically want copyleft in that you want what you provide to the public to remain public (with attribution) then yes, MPL2 should be enough. By going GPL, you create viral copyleftism in that anything which builds on TD becomes GPL. This way, technically, someone can on the one hand, build a permissive tool (like Mark's TD Helper under the MIT) and still use TD so long as TD is in seperate files and that is stil MPL. On the other, big evil Fronteir can decide to include TD into the proprietary ED: Horizons code, so long as the TD files remain seperate and they themselves are released under the MPL 2. Look into it yourselves, but I think it's the sweet spot middle ground.
 
Well, I have the documentation pretty much how I think it should be.

If you guys have the time/inclination please can you look it over and point out the glaring errors.

The downside to this approach is that you will have to periodically refresh your copy of TD by hand....
I suggest adding "(i.e., whenever there's an update to TD on github.)".
 
Last edited:
The eddblink plugin has options to pull all available data into your local database. When running this plugin for the first time, you must use (one time only).

$ trade.py import --plug=eddblink -opt=clean
This is technically incorrect. You don't need to run eddblink with '-O clean' the first time. In actuality, it doesn't matter what options it's run with the first time, even with no options at all, it will forcibly do a clean run the first time. The only options that will have any effect on the first run are 'skipvend', 'force', and 'fallback':
Code:
        if firstRun:
            self.options["clean"] = True

When a system is specified: "--avoid" will guarantee you do not pass through or stop a station in that system; "--via" will do the opposite.
"at a station"

trade.py import -P eddblink
This will check for and import new data from EDDB. If
you have newer data of your own, it will not be overwritten.
"new listings data", by default it doesn't import anything else, although importing listings does also cause it to import the item, system, and station lists to make sure they are up to date with the listings data.

It is recommended to use '-O clean,skipvend' on slower computers when doing a clean run, including the first run.It is recommended to use '-O listings' on all computers after the first run.
"It is recommended to include the 'skipvend' option (, as for example, '-O clean,skipvend',) on slower computers when doing any run, including the first run. It is recommended to pass no options after the first run, as by default eddblink imports just the listings, (updating the item, system, and station lists if needed,) and to use '-O all' whenever changes to the game have been made (such as the addition of new ships, or the removal of commodities.)"

I skimmed the setup guide, usr guide, and plugin wiki pages, in case it wasn't clear what I'm quoting.

python quick peek:
The sol thing, what's that then? Well, its the station that was looked up.
"it's the system".
 
Last edited:
In other news, I finally got around to implementing the pad size for the olddata command, and I think I figured out the problem with the listener importing failing on some stations.
 
In other news, I finally got around to implementing the pad size for the olddata command, and I think I figured out the problem with the listener importing failing on some stations.

With everything else, I have been biting my tongue about the pad size olddata thing. Very cool.
Sent a pull request, let's handle debug output differently from now on.
 
"It is recommended to include the 'skipvend' option (, as for example, '-O clean,skipvend',) on slower computers when doing any run, including the first run. It is recommended to pass no options after the first run, as by default eddblink imports just the listings, (updating the item, system, and station lists if needed,) and to use '-O all' whenever changes to the game have been made (such as the addition of new ships, or the removal of commodities.)"

That was a direct C&P from the standalone page, you may need to update that too.

All of your suggestions agreed and committed.
 
Shamless thread hijack of the day:

expelite.png
 
TD Helper is MIT since the original versions are MIT. This only prevents TDH from incorporating other software which it does not. I'm not sure I can change the license terms or not.
 
TD Helper is MIT since the original versions are MIT. This only prevents TDH from incorporating other software which it does not. I'm not sure I can change the license terms or not.

Keep up, that's old news. We've changed the licence to MPL2, which removes any problem you may have had.
 
Sorry, replying as I read through the thread which is a tad slow as I'm in the middle of a field with Medieval Reenactors all around!

When I was healthy and fit, I used to do 15 century wars of the roses. Stanley Household.

For God, Lord Stanley and the True King

...yes, but... I mean, who exactly is the True King?

*splutter*

WHOEVER LORD STANLEY SAYS IT IS!
 
Back
Top Bottom