Variant Project

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ekolis
    Knight
    • Apr 2007
    • 921

    #16
    Originally posted by Therem Harth
    I'd say no to that, as I'd rather not see Angband get embroiled in Microsoft software patent disputes.
    Not sure what you mean by that, as I'm not aware of any patent disputes going on with the .NET platform, and even if there were, unless the platform were ruled flat-out ILLEGAL, I can't see that affecting code written against it; it just might slow down future development of the platform itself :P

    Besides, I was being kinda facetious... I know not everything is gonna be written in C#, that's just in my dream world that it is

    edit: oh, by the way, if someone does take this seriously, there is Cryptband
    You read the scroll labeled NOBIMUS UPSCOTI...
    You are surrounded by a stasis field!
    The tengu tries to teleport, but fails!

    Comment

    • Nick
      Vanilla maintainer
      • Apr 2007
      • 9637

      #17
      Originally posted by d_m
      I seem to recall that you have solved the "description too long to fit in an 80x24 terminal without scrolling" problem in a way that V should adopt.
      I've got a hackish way for small screens which does fairly ruthless abbreviation. I always intended to do a proper method which checked how much space there was and prioritised information, but never got around to it.

      Definitely let me know if you make progress on this idea, have patches you'd like committed to V to help align it better, or have specific suggestions on what to change. My time to work on Angband is somewhat sporadic but I'm definitely interested.
      I will keep you posted. I'm currently trying to work out if there's a good way to deal with multiple variants sharing some code in a version control system.
      One for the Dark Lord on his dark throne
      In the Land of Mordor where the Shadows lie.

      Comment

      • ekolis
        Knight
        • Apr 2007
        • 921

        #18
        Not sure if there really is a way to share source code like that without breaking all the variants whenever the base library interface changes... and even when the implementation changes, someone's variant might depend on some quirk of the old system! Probably best to use some sort of library system - static link, dynamic link, whatever - instead of having everyone's code rely on the same source which might change!

        Then again, dealing with changes IS the major strength of version control systems... perhaps if you used one with good branching support, you could say "OK, so the 'vanilla' branch includes r175 of anglib, and so do FA and O, but, say, Sangband isn't quite up to speed with the latest changes, and only includes r162..."
        You read the scroll labeled NOBIMUS UPSCOTI...
        You are surrounded by a stasis field!
        The tengu tries to teleport, but fails!

        Comment

        • Magnate
          Angband Devteam member
          • May 2007
          • 5110

          #19
          Originally posted by ekolis
          Not sure what you mean by that, as I'm not aware of any patent disputes going on with the .NET platform, and even if there were, unless the platform were ruled flat-out ILLEGAL, I can't see that affecting code written against it; it just might slow down future development of the platform itself :P

          Besides, I was being kinda facetious... I know not everything is gonna be written in C#, that's just in my dream world that it is

          edit: oh, by the way, if someone does take this seriously, there is Cryptband
          What he means is that Microsoft doesn't do openness, and when it purports to produce something open, there is always another agenda. So those of us for whom libre > gratis would steer clear of anything encumbered by a non-free licence (that's "non-free" in the Debian sense). AFAICT this rules out both C# and java, but not Python.
          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

          Comment

          • ekolis
            Knight
            • Apr 2007
            • 921

            #20
            OK, I guess I don't get the whole "everything must be open-source, even your dev tools"... is anyone seriously looking at rewriting the C *compiler* or something?
            You read the scroll labeled NOBIMUS UPSCOTI...
            You are surrounded by a stasis field!
            The tengu tries to teleport, but fails!

            Comment

            • AnonymousHero
              Veteran
              • Jun 2007
              • 1393

              #21
              Originally posted by Nick
              I'm currently trying to work out if there's a good way to deal with multiple variants sharing some code in a version control system.
              The only sane way I see of doing this is to actually separate the code you're interested in having in common out into a library with a wholly separate API. This forces:
              a) the designer of the API to actually think properly about it, b) the users of the API to actually rely on the API instead of just piling hack upon hack into the (e.g. display) code. I'm as guilty of the latter as the next person, this is exacerbated by the lack of refactorability of C code in general.

              Comment

              • d_m
                Angband Devteam member
                • Aug 2008
                • 1517

                #22
                Originally posted by Nick
                I will keep you posted. I'm currently trying to work out if there's a good way to deal with multiple variants sharing some code in a version control system.
                Even in Subversion there's a way to have an "external project folder" inside of your project that actually updates from somewhere else (and theoretically can commit back there if you want). I've seen this used before.

                You might also want to check out Mercurial or Git--it would be easier for different variants to share patches and code that way (and also easier to maintain patches or branches). Takkaria has said he wants to move V to Mercurial (which I like), and Magnate (and others on IRC) like and use Git, so you should be able to get help with whichever.
                linux->xterm->screen->pmacs

                Comment

                • d_m
                  Angband Devteam member
                  • Aug 2008
                  • 1517

                  #23
                  Originally posted by Magnate
                  What he means is that Microsoft doesn't do openness, and when it purports to produce something open, there is always another agenda. So those of us for whom libre > gratis would steer clear of anything encumbered by a non-free licence (that's "non-free" in the Debian sense). AFAICT this rules out both C# and java, but not Python.
                  At this point I think Sun's JVM/JDK are DFSG-compatible and available through Debian so I think Java is in according to your plan. Although Debian also distributes Mono right now (which Gnome uses to some extent).

                  I think the real patent minefield is not the C# language but actually the .NET runtime. Anyway, I'm starting a new job soon that will at least partially be working in .NET so I'll let you know what I find out!
                  linux->xterm->screen->pmacs

                  Comment

                  • Nick
                    Vanilla maintainer
                    • Apr 2007
                    • 9637

                    #24
                    Originally posted by d_m
                    Even in Subversion there's a way to have an "external project folder" inside of your project that actually updates from somewhere else (and theoretically can commit back there if you want). I've seen this used before.
                    That sounds like it might be the missing puzzle piece. I'll look into that.

                    You might also want to check out Mercurial or Git--it would be easier for different variants to share patches and code that way (and also easier to maintain patches or branches). Takkaria has said he wants to move V to Mercurial (which I like), and Magnate (and others on IRC) like and use Git, so you should be able to get help with whichever.
                    ...and FA is in Bazaar

                    I understand that they mostly play nicely with each other, so with luck it should be possible to set up some horrendously complicated system which no-one can understand and which breaks when anyone tries to actually use it.
                    One for the Dark Lord on his dark throne
                    In the Land of Mordor where the Shadows lie.

                    Comment

                    • Magnate
                      Angband Devteam member
                      • May 2007
                      • 5110

                      #25
                      Originally posted by ekolis
                      OK, I guess I don't get the whole "everything must be open-source, even your dev tools"... is anyone seriously looking at rewriting the C *compiler* or something?
                      You're not familiar with gcc??
                      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                      Comment

                      • Magnate
                        Angband Devteam member
                        • May 2007
                        • 5110

                        #26
                        Originally posted by d_m
                        At this point I think Sun's JVM/JDK are DFSG-compatible and available through Debian so I think Java is in according to your plan. Although Debian also distributes Mono right now (which Gnome uses to some extent).

                        I think the real patent minefield is not the C# language but actually the .NET runtime. Anyway, I'm starting a new job soon that will at least partially be working in .NET so I'll let you know what I find out!
                        You make my point - you can't run a C# program without the .NET runtime! (Mono is good, but non-free I think.)

                        But yes, I think java is just about ok nowadays. Since I don't speak it, I've never studied the licencing issues all that closely.
                        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                        Comment

                        • Therem Harth
                          Knight
                          • Jan 2008
                          • 926

                          #27
                          Mono is IIRC free... But .NET is patented and Mono is an implementation of it. Technically Microsoft could sue for patent infringement. I believe they have signed legally binding documents saying they won't sue, but them being Microsoft, you can be very sure indeed that they will find loopholes.

                          Comment

                          • ekolis
                            Knight
                            • Apr 2007
                            • 921

                            #28
                            Originally posted by Magnate
                            You're not familiar with gcc??
                            Yes, I've hard of gcc... my point is, does anyone need yet another C compiler at this point?

                            Originally posted by Therem Harth
                            Mono is IIRC free... But .NET is patented and Mono is an implementation of it. Technically Microsoft could sue for patent infringement. I believe they have signed legally binding documents saying they won't sue, but them being Microsoft, you can be very sure indeed that they will find loopholes.
                            Umm, really...
                            I had wondered what that deal was between Microsoft and Novell... now I know...
                            If I hadn't already sold my soul to Satan, then, I would jump to Java in a flash...

                            edit: Well, I looked into this, and yes, Microsoft has in fact signed such documents, and not just in regards to Novell:



                            It looks like they did this primarily to prevent someone else from claiming that THEY patented some component of .NET, and suing Microsoft for it... I suppose in theory since the license applies only to the ISO-standard CLI, that Microsoft could come up with some "extensions" that they DON'T make part of the standard, and then bundle those in with the other parts... but I don't think they can force people to upgrade, or legally prevent them from downgrading back to the "standard" version if they upgrade without knowing!

                            So yeah, if you're that paranoid about software licensing that only perfectly "clean" code is acceptable, I wonder if you even use Google for Internet searches, or did you write your own web crawler to find what's REALLY out there on the web, without being censored? :P I hope not... the whole point of open-source software is reusability, and if you choose to wall yourself off, you're no better than the old-school Microsoft of the '80s and '90s...
                            Last edited by ekolis; July 4, 2010, 17:45.
                            You read the scroll labeled NOBIMUS UPSCOTI...
                            You are surrounded by a stasis field!
                            The tengu tries to teleport, but fails!

                            Comment

                            • Therem Harth
                              Knight
                              • Jan 2008
                              • 926

                              #29
                              Actually I'm perfectly happy to use proprietary software when it's better. My issue is that, in view of Microsoft's history, nothing they touch is safe IMO. A company of their size can bend the US legal system around its thumb.

                              Comment

                              • nppangband
                                NPPAngband Maintainer
                                • Dec 2008
                                • 926

                                #30
                                I am still trying to get my head around what part of the Angband code could be built into a standardized and permanent library, not subject to change. Every part of the source gets changed eventually, especially in the variants. In addition to feature changes in Angband and the variants, frequently we have to re-do the architecture just to keep it working with the latest operating sytems. And every 3-4 years we get a new maintainer who to re-write major portions of the code to thier own personal preference as well (remember lua?). Of course, most of the changes are good and progressive, but what part of the code do we think will not change for the next 4-5 years?

                                Unfortunately, I think in the end the only way for a variant to stay constant with Vanilla is for the maintainers to update their code base every time Vanilla udpates.

                                Jumping from the 3.0.6 code base to the current one has been quite a task. I think Angband changes more now in 3 months than it traditionally has in 5 years. I am getting close to finishing the updates, and again, you all have done some very nice work and added some great improvements to Vanilla.
                                NPPAngband current home page: http://nppangband.bitshepherd.net/
                                Source code repository:
                                https://github.com/nppangband/NPPAngband_QT
                                Downloads:
                                https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

                                Comment

                                Working...
                                😀
                                😂
                                🥰
                                😘
                                🤢
                                😎
                                😞
                                😡
                                👍
                                👎