BBO Discussion Forums: Open-source GIB - BBO Discussion Forums

Jump to content

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Open-source GIB An idea I've been toying with

#1 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-17, 09:54

I'm wondering if it would be possible to release (a part of) GIB to the open source community, as a way of improving its fundamental software design and as a result, its card play. If I read between the lines correctly,the bidding database is proprietary and probably not something BBO would be able / willing to share, but the hand-simulating code and the playing code doesn't sound like there's a whole bunch of IP there - the theory has all been published and the implementation sounds less than ideal, based on what barmar and georgi are saying.
At worst, this will accomplish nothing other than a better default reply from barmar, but it might actually help step GIB forward. It sounds as though there are some posters here with some software development experience, and the code is already being reworked, so just adding a couple of people (as many as whoever's leading this effort right now can manage) should be relatively painless.
I don't think there should be any licensing issues, since BBO, when renting GIB, is basically selling server time and not the right to run this code.
Thoughts?
0

#2 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-19, 01:23

Some reply from the higher ups would be nice - I'm curious whether this is even possible (from a financial /legal standpoint), otherwise there's no point in considering the technical aspects.
0

#3 User is offline   Gerardo 

  • PipPipPipPipPipPip
  • Group: Admin
  • Posts: 2,482
  • Joined: 2003-February-12
  • Gender:Male
  • Location:Dartmouth, NS, Canada

Posted 2012-March-19, 06:04

This is a NON OFFICIAL answer. I don't know what bosses think, nor I asked.

I very much doubt Matt Ginsberg gave up all rights to GIB code, to the point such a move like the one suggested above would necessarily need to be green lighted by him.

#4 User is offline   cloa513 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 1,528
  • Joined: 2008-December-02

Posted 2012-March-19, 08:05

More likely they'd embarassed about the loosy sloopy undocumented progamming.
0

#5 User is offline   fred 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,597
  • Joined: 2003-February-11
  • Gender:Male
  • Location:Las Vegas, USA

Posted 2012-March-19, 09:25

This is also not an official answer. If there is to be an official answer, it would be up to Uday to make it.

Even if there are no legal issues (I have no idea if there are or not), I doubt that this will ever happen and it almost certainly won't happen in the nearish future.

I am not going to go into the details as to why, but historically we have not been big believers in the concept of "open source".

But while I am here, let me state that as usual cloa513 has no idea what he or she is talking about. Matt Ginsberg, the original author of GIB, is perhaps the smartest person as well as the most highly-skilled programmer I have ever met.

It is true that some of the GIB source code is difficult for mere mortals to understand, but that is mostly a function of the complexity of the program (as opposed to carelessness or poor coding habits on the part of the author - a man who happens to be a true genius).

Fred Gitelman
Bridge Base Inc.
www.bridgebase.com
0

#6 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-19, 09:42

Thanks for replying, Fred.
As an aside, I find it surprising that a software professional would not equate clarity and maintainability with genius in software design. With all due respect to GIB and its creator, I doubt it's more complex than, say, a real-time OS, and those are typically developed and maintained by mere mortals.
0

#7 User is offline   fred 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,597
  • Joined: 2003-February-11
  • Gender:Male
  • Location:Las Vegas, USA

Posted 2012-March-19, 11:43

 Antrax, on 2012-March-19, 09:42, said:

Thanks for replying, Fred.
As an aside, I find it surprising that a software professional would not equate clarity and maintainability with genius in software design. With all due respect to GIB and its creator, I doubt it's more complex than, say, a real-time OS, and those are typically developed and maintained by mere mortals.

You make a reasonable point, but different considerations tend to apply when one writes a program with the expectation that he/she will be the only person who ever looks at the code. In such circumstances, the most important thing at the time seems to be to ensure that *you* find the code clear and easy to maintain. Making sure that *anyone* could understand and maintain the code slows down the development process (and for some people makes it less fun).

It also happens to be the case that GIB was written at a time in which computers were much slower and had much less memory than today's machines. GIB contains a lot of code that nowadays would be considered "obscure" by most programmers but at the time was important for performance purposes.

Perhaps it would have been wise for Matt to guess that the time might come (15 years or so later as it turned out) in which someone else would take over the GIB project, but I have a lot of sympathy for his apparent failure to plan for this possibility. GIB was his baby - he was not planning for it ever to be put up for adoption.

Anyway, for me "genius in software design" can mean more than one thing. The sort of genius that impresses me the most is the sort that Matt has - the ability to design and implement algorithms that solve difficult problems.

I don't think the comparison between GIB and real-time OS is necessarily valid. Sure an OS is complicated, but not in quite the same way that GIB is complicated. Besides that, I think you may underestimate the skills of those people who are capable of developing and maintaining modern OSs - I suspect that most of these people are exceptionally gifted programmers (ie not quite mere mortals).

In my experience programmers are similar to bridge players in that many of them think they are experts, but only a small fraction of these people have the ability to deliver at the highest levels.

Fred Gitelman
Bridge Base Inc.
www.bridgebase.com
0

#8 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-19, 12:18

That makes sense, and is indeed part of the reason I thought the project could benefit from exposure. Thanks for elaborating.

As a final PS, I don't think overestimating oneself is restricted only to Bridge and programming. Hearing a person say "I am average at <field>" is extremely rare - and usually those people are far above the average.
0

#9 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-March-19, 15:58

One aspect of genius is to innovate - to change one's field through original thought - and Ginsberg certainly managed this, just as Einstein did or Hammett in his field!

I would not expect any commercial software to go "open source": all control over development would be lost. Having said all that I think GIB suffers from the inherent limitations of random simulation.

What I would hope for is that GIB could be used as a black box (which could still produce brilliant, normal or insane plays) and overlay a shield which would produce expert plays for specific situations and revert to GIB for any situations the shield did not cover.

Surely this is both possible and highly desirable?
0

#10 User is offline   cloa513 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 1,528
  • Joined: 2008-December-02

Posted 2012-March-19, 19:03

Bamar has implied as much- so much undocumented GIB's bidding rules. Sounds lazy.
0

#11 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-20, 00:06

Quote

I would not expect any commercial software to go "open source": all control over development would be lost
Here's a close-to-home example to disprove this notion: http://www.threading...dingblocks.org/
Open source doesn't mean "free for all".
0

#12 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-March-20, 01:07

 Antrax, on 2012-March-20, 00:06, said:

Here's a close-to-home example to disprove this notion: http://www.threading...dingblocks.org/
Open source doesn't mean "free for all".

You've lost me. This is way beyond my level of competence.
0

#13 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-March-20, 01:34

I doubt it. Basically even when a project is "open source", there is typically a person or group of people who control what gets committed to the code base. So, while anyone is free to read and make suggestions, to actually change the code requires approval. The project I linked to, for instance, is a commercial product that benefits from the open source community - the community suggests features and patches, and the paid Intel engineers take the best of these ideas into the Intel product. In exchange, non-commercial use of the product is free of charge. Everybody wins, and there's no chaos as a result of exposing the code to the world.
0

#14 User is offline   helene_t 

  • The Abbess
  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 17,068
  • Joined: 2004-April-22
  • Gender:Female
  • Location:UK

Posted 2012-March-20, 05:25

It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure.

But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues.

But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive.
The world would be such a happy place, if only everyone played Acol :) --- TramTicket
0

#15 User is offline   cloa513 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 1,528
  • Joined: 2008-December-02

Posted 2012-March-20, 05:35

 helene_t, on 2012-March-20, 05:25, said:

It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure.

But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues.

But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive.

First GIB will have to be able to play the system it has- it doesn't always take forcing bids as forcing or take out as take out.
0

#16 User is offline   pigpenz 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,553
  • Joined: 2005-April-25

Posted 2012-March-20, 08:55

 helene_t, on 2012-March-20, 05:25, said:

It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure.

But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues.

But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive.

The commercial GIB allowed one to load a .sys file that was the system being played by GIB
It included KS, 2/1, Moscito, and several others.
1

#17 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,398
  • Joined: 2004-August-21
  • Gender:Male

Posted 2012-March-21, 01:33

 pigpenz, on 2012-March-20, 08:55, said:

The commercial GIB allowed one to load a .sys file that was the system being played by GIB
It included KS, 2/1, Moscito, and several others.

But the bidding rules have to have places where it says "If you're playing Moscito, that bid means X". The bidding rules are written in a pattern-matching language that's really difficult to read and write (if you're old enough to remember TECO macros, it's comparable).

#18 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,398
  • Joined: 2004-August-21
  • Gender:Male

Posted 2012-March-21, 02:00

 cloa513, on 2012-March-20, 05:35, said:

First GIB will have to be able to play the system it has- it doesn't always take forcing bids as forcing or take out as take out.

It plays its own system, it's just that the system has holes in it -- it doesn't say what to do in every case. Saying that a bid is forcing doesn't tell it what it should bid if there's no rule that matches its hand.

That's the difference between humans and computers. When a human is stuck like this, it can think creatively and find a way out of it, but computers are forced to follow the strict logic of the program.

#19 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-March-21, 02:13

 Antrax, on 2012-March-20, 01:34, said:

I doubt it. Basically even when a project is "open source", there is typically a person or group of people who control what gets committed to the code base. So, while anyone is free to read and make suggestions, to actually change the code requires approval. The project I linked to, for instance, is a commercial product that benefits from the open source community - the community suggests features and patches, and the paid Intel engineers take the best of these ideas into the Intel product. In exchange, non-commercial use of the product is free of charge. Everybody wins, and there's no chaos as a result of exposing the code to the world.

Thanks, now I am with you.
0

#20 User is offline   cloa513 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 1,528
  • Joined: 2008-December-02

Posted 2012-March-21, 07:01

 barmar, on 2012-March-21, 02:00, said:

It plays its own system, it's just that the system has holes in it -- it doesn't say what to do in every case. Saying that a bid is forcing doesn't tell it what it should bid if there's no rule that matches its hand.

That's the difference between humans and computers. When a human is stuck like this, it can think creatively and find a way out of it, but computers are forced to follow the strict logic of the program.

Ie. it was sloopily put together, GIB should have a response for every standard sequence- e.g I'd have limited the opening responses over 1 suit openings to 6 (not include Soloway or complex bids), nearest suit bid or 1NT or raise 1 or 2 and make sure those sequences are reasonably complete and absolute- GIB should never be erratic with a reverse bid. 1D,1S,2H and use simulations to cover the gaps not simulations for every single bid which can override the bookbid.
0

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users