Open Source OGS?

I have no doubt that expanding the development team will cost significant time and effort, and even come at the expense of other important tasks in the near term. However, in the long run, a larger team should mean more efficiency toward developing new features and fixing bugs.

Ultimately, I’m far more concerned about the long-term sustainability of the site. I care more about the server still existing and thriving 10, 15, 20 years from now than how many bugs are fixed and features are added over the next year or two.

10 Likes

Fixing bugs and adding features attracts more players and let players stay. That helps the server to still be here in 20 years…

Node is a back-end technology :slight_smile: I think you are thinking of react.js.

Here’s what I could find about the technologies. Interestingly, react wasn’t on the radar at that time … anoek must have added it on top at some point (and from time to time you can still bump into pre-react code).

1 Like

I may be just an old sceptic, but I think you migh be wildly overestimating the actual help opensourcing OGS would bring. Sure, there is always one or two enthusiasts who try to seriously contribute, but OGS can barely support one developer. It would all be unpaid work and that is hard to do a substantial ammount of even if you really are enthusiastic about the project. In the end real life always take priority. So there might be a few fixes for a system people are not familiar with, meaning for anoek to really check (and let’s face it often fix and repair) sometimes amateur code additions might actually be more time demanding than fixing it himself in due time and when he deems urgent. That also comes with unpleasant pressure to shift priorities, because it would be rude not to check the code somebody donated and leave him/her waiting for a long time.

Just look at the beta-testing requests we sometimes did. There is rarely anything more contributed but a cursory look from people. Currently all PRs for the frontend are from moderators as far as I can see… That is not criticism, that’s natural. People have more urgent needs to tend to, no matter how big their love for a free project is.

Additionally such a thing comes with security concerns. While we are not directly handling any payment operations, I assume there is still concern for some privacy info, and while I believe anoek is thorough in this regard, giving potential attackers a look under the hood is still quite unpleasant and scary. Absolute security online is a myth so why make it even harder for ourselves.

All said and done, I personally don’t think opensourcing would bring much joy, but rather more of a headache. I sincerely doubt we are big and popular enough to think we would attract dozens of skilled and dedicated coders to help us. And while perhaps not likely, there is always a chance somebody with a bigger capital would just copy the code a throw a bunch of money at multiple bigger servers and advertising and simply pushed us away. Anoek spent years creating all this, I don’t think giving it for free to anyone is a safe move as far as our survival goes :slight_smile:

6 Likes

I think that’s a very pessimistic view of OGS in particular and the open-source model in general.

From the more general perspective, open source models have worked well for many projects, like the Linux Kernel and OS distributions, Mozilla Foundation, Chromium Projects, Apache Server, Python and nearly all of its libraries (including practically every major deep learning framework), various tool chains for nearly every widely used programming language, etc. These have all flourished as examples of community collaboration, despite existing within a highly competitive tech industry involving players with deep pockets. Even Microsoft released VSCode as a open source project from the start and look how far that has gone.

In the realm of game servers, the example closest to OGS is of course lichess, which is thriving under an open-source model.

This is a highly pessimistic view of OGS and contradicts what we’ve already seen from the front-end becoming open source, which has indeed attracted skilled coders that have provided many contributions to help improve that part of the site.

It’s the player base and community that ultimately makes OGS what it is. It doesn’t seem likely at all that a bunch of players would leave to play on a clone starting with few players and advertising. I trust that community would want to support the original.

Before releasing the code publicly, of course a thorough security audit by at least one other set of eyes is prudent, and moving forward, I believe there would be more interest from the public to find and fix security issues than to exploit them. In contrast, relying on security through obscurity is not a great idea.

Long-term sustainability is my ultimate concern, and from that perspective, I think the one-person team is actually the biggest risk. The open vs closed source question is just one aspect of considerations related to the broader concern.

8 Likes

It’s just my opinion (and I have no say in the matter of opensourcing so there is little need trying to combat my bleak view of the world :D) nor do I really have much wish discussing the matter much further as it is ONLY my guss based on no data, and indeed I have been known for my scepticism. But still, as I see it you cannot really compare us to a linux, mozilla or chromium let alone Microsoft. Not by a long shot. Every coder ever uses an internet browser and some sort of OS. Only a fraction of a fraction of coders care about Go. Those projects mentioned have huge teams of paid developers and foundations… We have one underpaid developer :smiley: I have no idea about how lichess works or is financed, but still even chess is largely more known and much more popular in the west compared to Go.

And I am very gratefull to anyone who contributes to the front end, but even there I would not really say there is an overflow in that area. Hell, I seem to be 11th most active coder there, and I made one silly little attribution. And frontend is the more known and accessible part of coding in my opinion, I for one would not even dare touching the backend. :smiley:

Ultimatelly this discussion might be a bit moot. It is anoek decision and I am pretty sure he thought about it thoroughly and he did at some point mention he was considering it when the time is right, so maybe you will get your wish.

Mind you I am not against the idea if anoek wishes to do it. I just think some of us might be idealizing the impact it would have and I am against pressuring anoek to doing it before he’s ready.

4 Likes

As a counter-example, just this year we got a whole new major feature for free (OJE) , because it was possible for a volunteer to do this (by writing an independent back-end for that).

IMO we don’t see lots of examples of major new features from volunteers not because “it is hard to get people to do this amount of work” but rather because there are so few significant features that you can actually implement without access to the back end.

Note that “Open source” is not required to solve the prolem, and I’m not sold on the argument that “OGS would be better off if the back end were open source” myself.

A different proposal “Expanding the number of developers to include people who would volunteer” would have all the benefits and less of the challenges than the “Open Source it” proposal in this thread.

5 Likes

I feel like this opens up the counter example that offically becoming a designated volunteer may seem as too much of a commitment, whereas if the code is open-source people are more free to dabble and poke around and it’s easier to fall into a bigger project once you can see where its demands meet your experience and capability.

2 Likes

Possibly this is an argument against open sourcing :wink: I’m not sure that the back-end is a place where “dablling and poking around” is a good approach. It may be a good thing to have some hurdles for qualification for access, to ensure that people who are getting involved will actually spend the time to understand the system they are messing with…

This argument extends to the learning curve price as well. Given that “working on code that has to be robust (the back end)” is something we know has a learning curve and price to pay from the lead developer, it strikes me that you don’t want to be opening this up to everyone to ask for that training only to have them dabble and do no more…

All these considerations point to the fact that “hey, I reckon OGS would be better off if only anoek could pull in a few more devs” is a better proposal than “Hey, lets encourage anoek to Open Source it”

1 Like

Dabbling and poking around would definitely occur on a separate testing server. Community contributions should be thoroughly tested on a beta server before deploying to production.

1 Like

Right - so a necessary precursor to dabbling … hence a necessasry precursor to Open Sourcing, is a solid regression test system and suite on Beta.

Maybe those who are keen to see Open Sourcing, should start that project now.

There is nothing stopping you: beta is there.

1 Like

Amen. The frontend is near perfect already and all you can do is change some irrelevant fonts and UI layouts (which you could do with a browser addon too) so why even bother. Just about everything I wanted to do involves the backend.
Some things that have crossed my mind in the past but are only dreams

  • Thue-morse rules / go variant (see that other thread about it). Also other go variants
  • Interoperatibility with other servers. Let a OGS user join a game hosted on KGS for example
  • Optional client side only game clock to eliminate lag (for when you trust your friend to not cheat)
  • Guess the next pro move -minigame
  • Option to play ranked games that affect your rating but as anonymous user. So opponent does not know who you are

Of course such major changes might spark a political debate. Lets not, this is all hypothetical and not the point.

Somewhat recently someone created their own server https://go.kahv.io/ just for go variants. Since OGS is closed the only way to get a backend feature like a go variant is to write a brand new go server. Fragment the fragmented Go community some more. If I really had the time and motivation I could also write my own server with the features mentioned above. But the community is the most critical part. A new server needs time to get a reasonably large playerbase. And re-inventing the same wheels before getting to improve on them is just needless extra work.

6 Likes

The first is really the much bigger concern. An open source model is just one possible approach.

When thinking about the long-term sustainability of the site, either there will eventually be another developer working on it or there won’t ever be.

3 Likes

There’s always the idea that it’s easier to throw away the project and start over, but the reality is always a mixed bag. I’ve worked on projects like that, and depending on the project it can be a lot more work than it seems just to get it back to where it was before. And then it feel like a ton of work for not a lot of progress.

Erlang is pretty great though, I’m a big fan of Elixir myself. I’ve thought about playing around with a go server using LiveView. I’ve been working on a Cards Against Humanity clone and it’s such a great toolset

3 Likes

I kind of want to watch this debate though :joy: how bout a fork?

2 Likes

:fork_and_knife:

You could create new post in general chat to debate about programming languages…

As Gandhi said “Be the change that you wish to see in the world”

2 Likes

Has anyone considered just trying to write a compatible backend (the intent from the beginning being to keep it open source)? I feel like open sourcing closed-source can be difficult if you didn’t plan it from the start.

I hope it's not too obvious that I just want to see what the Frankenstein-esque love child of lichess and OGS would look like.

P.S. How do I make those small letters?

As in like

I hope it’s not too obvious that I just want to see what the Frankenstein-esque love child of lichess and OGS would look like.

Handy forum topic Useful Hints For Using This Forum - #35 by trohde

2 Likes

OH THANKS. So html!

1 Like

I think this is the way to go for anyone interested in moving OGS to open-source code: write a good piece of backend software first, and figure out what some good, common interfaces would look like. If the OGS back end is a bit messy, as people have stated, then convincing anoek to swap it for a better code base wouldn’t be too hard.

1 Like