Category Archives: Free Software

Articles about Free Software.

The Kudos-based economy for the KoboldAI Horde

Work continues on the KoboldAI Horde apace, and in the past week I’ve added oauth auhentication but kept the anonymous access live as well. Let me tell you, figuring out how to use the flask.dance module for discord was a complete PITA.

But I got it done, and even added github authentication (and hopefully google soon, if they stop asking for silly things)

The authentication was added to allow me to build the next step, which is to be able to balance usage from the community.

The thing I expect to happen is that as the service becomes more popular, we might have way more clients trying to use the horde than we have actual contributing servers, and therefore we would run into performance bottlenecks. This could become unworkable especially if things like bots start using this service anonymously etc.

To provide some automatic balance, I have now introduced the concept of Kudos into the mix. A Kudos is a reward gained when someone contributes to the well-being horde in some way. There are two built-in methods to gain Kudos at the moment:

  1. Any time your KoboldAI server generates text for someone, you receive tokens based on the amount of text generated and the power of your model.
  2. KoboldAI servers get “uptime” rewards every 10 minutes they stay online and check-in looking for more requests. This incentivizes people leaving their instance running even in non-busy times.

On the flip-side, people using the Horde as clients are likewise consuming Kudos to do so. Every prompt you send, will reduce your balance by the same amount of Kudos rewarded to the server which fulfilled your request. Effectively you’re “thanking” the people running the instance which helped you.

But unlike typical currencies, you can still use this service even if you don’t have any Kudos. You simply go negative, which represents your “debt” to the community. This allows people to use the Horde anonymously as well (through the common Anonymous account) which simply keeps going more and more in negative Kudos.

But to avoid abusing this service by people who want to take and give nothing back, I needed to find a way to disincentivize negative kudos balances. And I just implemented the solution to do that which is a fairly simple one.

You kudos balance corresponds to your priority in the queue of requests

This means that if there’s plenty of servers around and not a lot of requests, nothing much changes, even for anonymous clients and they get to enjoy the full speed of the horde.

However on times of congestion, the requests sorted by kudos-order. The people with the most kudos get to have their requests fulfilled first, while those with the least, such as the Anonymous account, will get their generated last.

With some other tools provided such as bridge-based priorities, and server-owner-preference, this should allow owners of servers to make sure that not only “good” actors are the first to use their resources, but also to find their own ways to provide a service to selected members of the community. For example someone might set their family members to have priority on their server gens, even if those members are deep in negative kudos.

Along with that, I’ve deployed a kudos transfer service where peers can send kudos directly to others. So someone who has accumulated a large amount, might use that to reward good behavior in the community, such as writing documentation, or helping others. The kudos transfer can also happen via REST API, which can allow even automated tools to participate, such as discord bots which might trigger on special smileys assigned to posts and give a small kudos reward to the recipient.

There are of course many other things to consider, such as actions by malicious actors who might try to game the system. I really hope I won’t have to deploy countermeasures for people abusing community goodwill.

But until then, I really enjoy seeing the excitement from the KAI community, especially as heavy models like the fresh Erebus 13B are deployed into the horde. With the kudos infrastructure in place, there is now potential for new dynamics and reward systems to emerge organically from the community which will serve as an excellent guide on how to best proceed with this project.

The KoboldAI Horde: AI writing for everyone through mutual aid

Those who’ve followed my progress in developing Hypnagonia would know by now that I’ve been working on the integration of KoboldAI with Godot for the automatic generation of stories. This solution while working never quite satisfied me, as it required quite a lot of investment on behalf of a player who wanted to generate stories.

Kobold AIs hard at work

That approach left me unsatisfied. As it happened I had an idea to use the new KoboldAI API to create a distributed cluster based on consumer GPUs in people’s PCs. The concept being that one would connect their PC in some fashion to a server software and whenever someone sent a request for generation, an available PC would pick it up, generate it, and send it back to the requester.

The requester themselves would therefore not need a powerful GPU (or skill to use Google Colab) to use KoboldAI, while people who’s PC is otherwise sitting idle, would be supporting the other members of the community.

So after some discussions with members of the community, I decided this idea had legs and I wanted to build it before I continued with Hypnagonia. I’ve been working non-stop on this for the past week and I now feel it’s at a pretty good state.

Introducing the KoboldAI Horde!

This is a python server which you run on a server somewhere and it provides an interface with which people can request GPT writing generations. The second part is the bridge, which is what people who have their own KAI instances run, in order to connect the KAI server to the server. The last piece of software of course is the KoboldAI client which runs the models generating the text.

Until now, the only option for people without such powerful hardware would typically to use a service like NoveAI or AI Dungeon, where one has to pay for the service. They also provided a fancy interface and tools to help people write their individual stories. Aside from the cost however, there were also limitations. Dungeon AI recently imploded due to their own actions, and a lot of people were left without a home.

And of course, for a free software video game, such services are prohibitive, as I can’t pay out of pocket for the text generations of dozens of players (or imagine if my game ever became actually popular).

After a bit of hacking of the KoboldAI client itself, I also added functionality to allow someone to use their own KoboldAI client to talk to the Horde directly. Which means someone with a potato PC, can still use KoboldAI directly.

Now there are some obvious limitations as you might expect. First of all, the availability of the models in the horde is dependent on who is supporting it at the moment. If only people with weak GPU are in, the best you’ll find is a Nerys 2.7B. If however some of the big chonkers are in, you might be able to use KoboldAI as if you have a 20B model behind it.

The other problem is of course questions of privacy. Even though the text is encrypted during transfer, and even though the horde does not store any prompts or generations, at the end destination, the owner of the server can see all your prompts if they so wish, even if they don’t know who you are. So for those wanting the really steamy stuff, or perhaps those who write stories using real people and locations, this might be a deal breaker.

However for more normal stories, or for more generic generations such as for utilities and apps, this is hardly a concern.

Finally we’re still new, so currently everyone is playing nice. But there’s always the potential of bad actors, who might food the horde with garbage generations just to shut it down. There’s nothing I can do about someone dedicated to do that except go into a whitelist mode, and have the horde become an invite-only service, much like a private bittorrent tracker. In fact, anyone could set up their own private instance for their own community, for those situations where they want only trusted people to use it.

Eventually my plan is to follow the bittorrent approach for usage and contributions as well, where people will only be able to use the horde if they contribute somehow to the KAI community. Whether by adding their own GPU to the horde, or by writing documentation, etc.

But ultimately I want this to be a mutual aid based service. Where those who have the capacity help those who do not, and the latter find some other ways to make it up, for the uplifting of everyone in the KoboldAI community.

And before anyone suggests to tie this to some web3 token: Fuck that shit! I will work integrate with any cryptocurrencies! That is poison for our communities AND for our ecosystem.

The owner of the KAI client repo was also kind enough to redirect their domain to my KAI Horde instance, so now we have a very fancy url as well.

Official KoboldAI Horde

Already this is working amazingly well and I’m working on improvements daily. I’m excited to see what kind of doors this will open.

Seeking video game writers

If you’ve been reading this blog, I’ve been posting about my efforts to create my own game, Hypnagonia. While technical and game design has seen good progress, I am still thoroughly struggling to come up with a storyline and other similar concepts such as short stories for non-combat encounters and so on.

While I’ve pinged a number of people in the past and some have expressed an initial interest, I haven’t seen anyone yet show any initiative, and I’m not the kind of person who pesters people to help me for free. I don’t even know if that would help or not, but I just can’t do it. If someone to whom I’ve talked, doesn’t show any initiative afterwards, I just drop it.

To that end, I am making yet another attempt to find writers who want to collaborate in making a free software game with a surreal theme and psychological concepts. I already have a barebones idea of how the overarching story should go, but I am incapable to fleshing that out myself.

Due to the scope of the game, I have space for both writers who want to put a lot of effort, as well as those who only want to provide something occasionally.

  • I need a lead writer who will take over the overarching campaign concept, and build upon in their own style. You will have almost full creative control of the main storyline.
  • I need writers who will contribute short stories which to be injected into the game at various points. These include
    • Non-combat encounters inside the dream, which provide multiple-choice options for the player .
    • Storylines around each Injustice objective (example: Write the storyline events through which the player character will breakthrough out of their abusive relationship).
    • Ideas for new Torments and Character Archetypes.
    • Naming for cards with existing effects.
    • Thematic ideas for cards which I (or we together) will translate into game mechanics.

The important disclaimer is that this is a voluntary position, with full ownership of the end-product. You will be contributing your work into the Commons as the game is Free/Libre Software. This means not only will you retain ownership of your stories and ideas, but you will also have ownership of the final game product to showcase your talents elsewhere.

If this sounds interesting to you, please join my discord server and let me know in the #story-design channel. I repeat, I am not one to chase people around and I have a no-pressure approach to collaborators. If you want to help, I’d love to have you, but you need to provide your own drive to create! 🙂

I really want to create a video game that will truly enrich the commons. If you want to be part of this, join me!

Finally, a name

I’ve been working on my Godot-based deckbuilder for a few months now and I still hadn’t managed to find something to call it. I’ve been calling it “Project Dreams” to signify that it’s a provisional name, but it’s been really bothering me that I couldn’t find something appropriate.

So in the past few days, I took the time to start brainstorming for names in the discord server, along with the other contributors. My requirements for a name was

  • It has to be catchy (in a poetic or mysterious sense)
  • It has to somehow refer to one of the main themes of the game (dreams, torments, psychology, surrealism, therapy), preferably more than one at the same time.
  • Bonus points if it includes alliteration or portmanteau.

After tons of back and forth, I was almost done with choosing one of the options, but one of the last things I did, was throw the word “surreal” through a thesaurus, just to see what I find, and it showed me a word I’ve never seen before: Hypnagogia.

Hypnagogia is the experience of the transitional state from wakefulness to sleep: the hypnagogic state of consciousness, during the onset of sleep. (The opposite transitional state from sleep into wakefulness is described as hypnopompic.) Mental phenomena that may occur during this “threshold consciousness” phase include hypnagogic hallucinations, lucid thought, lucid dreaming, and sleep paralysis. The latter two phenomena are themselves separate sleep conditions that are sometimes experienced during the hypnagogic state

https://en.wikipedia.org/wiki/Hypnagogia

I don’t know why it was shown as a relevant word to “surreal”, but it immediately clicked for me, because with only a single letter change, I could create an interesting portmanteau.

Hypnagonia

In case you don’t get it, this is a mix of the aforementioned Hypnagogia + Agony (or “Αγωνιά in greek) and It hits so many of my requirements at the same time:

  • It refers to sleep
  • It references agony (being tormented by your own psyche is a core theme of the game)
  • The original word is close enough to the concept of surreality that the thesaurus brings it up as a suggestion.
  • It’s a portmanteau
  • It sounds exotic. Kinda like a fantasy setting
  • It is unique. I don’t conflict with anything else out there (from what I can see)

I did try a few other variations of this, but I believe this one is the catchiest. And I’m also fed up looking for names, so I just went ahead and finally renamed everything!

In case you’re interested, here’s some other names I was considering:

  • Retrospections
  • Remedy of Reverie
  • Theraltes (Therapy + Ephialtes)
  • Lucidium (Lucid + Somnium)

OCTGN is going cross-platform

I’ve talked a bit before about my favourite card-game playing engine on the net, OCTGN and the games I’ve developed for it. I just wanted to spread the news that the client is improving and even though there’s been few public releases since 3.1.0.10, this is because the developers were working on making the client cross-platform via Mono.

I know many Free Software enthusiasts are not crazy about Mono, but this was the only viable option for an app that was in MS dotNet, so this is definitelly better than the alternative as OCTGN is heads and shoulders above all other card game engines in my opinion, both for its usability and looks, but also for its natural support for a proper scripting language in the form of python, rather than no scripting or having an custom one that one needs to learn, like GCCG.

Good stuff.

A Kickstarter that I can support, and so should you.

I’ve made it no secret that I do not approve of the way most game developers are using kickstarter, that is, as a way to double-dip on their fans. I’ve also always said that something that is publicly funded, should be publicly owned as well, by which I mean that the end result should belong in the public commons, which at the moment means Open Source and Creative Commons for code and art respectively.

So to my grand delight I had the chance to put my money where my mouth is by supporting Haunts: The Manse Macabre. They are not only going to release the source as open source (under the BSD license) but also all the assets as creative commons.  This is great news, both for the culture, which will be able to reuse and improve on that base, but also for the game itself which will open itself to be extended by the public.

The game has already been funded, and now there’s a few days left to put some money towards adding more content, which makes sense to support given that we get to use it in the game as well as to make it part of the commons.

So what are you waiting for. This is the kind of game that needs all the support it can get. I do hope to see this become the norm in the future as well as the benefits to me us a supporter increase exponentially the more such games are made and passed to the commons, given how easier it will become to see more games built upon those foundations.

When the hell did that happen? The Nethernet liberates their source code.

Continuing with my reporting of the wacky antics over at The Nethernet (check the previous articles I’ve written on this)  I’ve just now noticed that they’ve apparently and silently liberated their source code under the Affero GPL. This is indeed good news and precisely what I was calling for when I they first declared that they’re shutting down the game 1 year ago.

It seems they had announced that they were going to open their source a few months ago but since I had stopped monitoring their blog since the new relaunch, I missed it. Since April which was their latest update, it appears that there’s been no more information forthcoming and the final release of the source was never properly announced. Put that down to the fact that they seem to have fired their old community manager ((I just noticed that this is quite an old post. It seems that Burdenday is still active in the community on a semi-official role)) and perhaps they have neglected to pick up his duties.

In any case, nobody seems to have picked up on this and doing a quick search online reveals no results. Looking deeper, it seems that the code has not actually been published on GitHub yet, even though the page about being open source currently exists and seemingly links to GitHub repositories. Those repositories do not exist however and it appears that I’m not the only one who has noticed this. I have no idea what is going on to tell you the truth. The forums are almost dead and the main devs of The Nethernet don’t seem to be taking much of an active role in their community (which is a pretty bad idea in the first place).

The only thing I can assume is that they are still preparing the code for an open source publishing but for the life of me, I can’t imagine what’s taking them so long. The original announcement was about 2 months ago and yet there’s been no progress yet. Unfortunately this also means that their community is slowly stagnating as there’s nothing new coming to the game, no events happening, no excitement from the ones who should be the most excited (the devs) etc. The more they wait before completing their move to open source, the more likely that they’ll simply end up releasing it after any and all interest in the game has died. It would be a sad tale indeed.

Anyway, I’m interested to see what, if any, will come out of this. Hopefully they’ll proceed with the code liberation and this very interesting concept for a game can finally be truly expanded through community effort and creativity.

Ryzom finally free

European Retail box for The Saga of Ryzom.
Image via Wikipedia

Do you still remember Ryzom? the MMORPG that was closing back in 2006, was attempted to have its source liberated by the Free Software enthusiasts, got taken over by another company, which subsequently bankrypted and the whole thing stalled? Well it seems that finally, 4 years after the original suggestion was made, Ryzom has been released into the wild as a pure Affero GPL3 Free Software, assets and everything. Exciting!

I just got an email announcing this and even though it took a helluva long time to get this through, it’s nevertheless better than never. Since I’ve covered this subjects twice in the Division by Zer0 already, I thought I should at least announce this exciting development and finally close this chapter of the saga.

I am extremely glad that this has finally happened. I’m very interested if the liberation of the code will manage to re-energize a game which has been practically on life-support for the past 4 years (and wasn’t doing very well before that anyway). I’m interested to see if the first completely free software game which can arguably be called to be of commercial quality, will manage to make any kind of effect in the MMORPG area.

Now that the doors are open, it can be extended in ways that were never considered or followed due to cost constraints. The community can finally start fixing the bugs and then add custom content which can quickly be improved upon and replicated elsewhere.The Affero GPL license will make certain that the improvement made on the game and the code will be shared back to the community for all to enjoy.

The biggest problem is naturally that the game’s code and graphics will be quite dated by now as the game was initially released in 2004 and commercial development seems to have stopped since 2006. The good thing is that it’s now free nature will not require it to compete for price with the big commercial games and the bazaar development it will follow should hopefully allow it to challenge them for content. Still, the huge delay of 4 years and the understandable death of its community in this time will be very hard to recover.

Lets try it out and hope for the best.

Reblog this post [with Zemanta]

Richard Stallman is neither a leader nor a Messiah

An image of Richard Matthew Stallman taken fro...
Image via Wikipedia

It seem to be quite a common phenomenon that detractors of Free software will attemp to bring up Richard Stallman and specifically something he might have said at one time or another, most usually quoted out of context and with the most uncharitable intepretation possible. This is then used as some kind of proof for the sinister motive of Free Software. Here’s one such example:

Stallman has repeatedly said that he thinks that programmers are overpaid and that skilled laborers should do their jobs for free or for a pittance (and therefore unskilled management is the only way to justify large salaries from technology), and it isn’t too hard to draw the inference that the GNU license, the philosophy of which makes it much harder for coders to get paid for their work, is his way of acting on his opinions.

Notice how we do not get to see exactly what Stallman said or in what context. Rather, we get the quoter’s personal interpretation which basically asserts a specific set of outcomes which looks to be the worst possible. It furthermore  inserts a sinister motive behind the GPL which is really requires a huge stretch of the imagination.

This is pure rhetoric people, and it’s the kind that displays intellectual dishonesty which rivals the Barefoot Bum. I can’t avoid getting annoyed when such a stunning amount of bullshit is said with a straight face because I can immediately, subconsciously even, see the logical fallacies and attempts at misdirection.

However it is important to counter the basic point of anti-Free Software tirade.

Stallman’s words are not infallible

Even if we accept the absurd intepretation such as the above as being true, even if we accept that Richard Stallman has some sinister motive behind the conception of the GNU Public License, it would still not make it the driving idea behind Free Software. The reason for this is simple: Richard Stallman is not a Messiah. Yes, he is a very influential figure in the free software movement. Yes, he is the one who can be said to have started it all. Yes, he does really follow what he preaches. But that’s it!

The arguments that Stallman makes, stand on their own accord and not because Stallman said them. However the rhetoric above tries to imply exactly that: That because he said it, it must be a part of the free software movement. But we are not a pack of sheep. We do not blindly follow what Stallman or RMS or Torvalds says (atlthough you will certainly find some individuals who are like that, same as with any public figure). We look at the arguments each of them presents, judge them and then espouse or reject them.

Thus even if Stallman’s secret plan was indeed to “eliminate independent coding as a profession”, the people would modify and implement his core idea in a way that it wouldn’t achieve this result. This is because such a result would be against the best interests of the coders that embrace it. Of course such a sinister plot is absurd on its face and the free software ideology is embraced on its merits as one promoting greater freedom for users and developers.

It is then that people with an axe to grind against FOSS imply that we’re simply being naive and being led like lamb to the slaughter by promises of freedom. There is not argument to back this up however, only shaky correlation and misunderstood economics. But this serves only as a handy personal delusion for those who make these arguments as they are incapable of explaining why people would embrace an idea that they consider obviously evil. It can’t be that they’re missing something, it must be that everyone espousing it is either stupid or evil.

The ironic part is how the people making such accusation have a double standard when public figures from the SW development paradigm they support say obviously wrong stuff such as wishing to take all the fun out of making video games. But it’s ok to quote mine and misinterpret Free Software figures because, after all, you have a point to prove.

To summarize, Stallman says a lot of things, some of the objectionable. I disagree with a lot of what he says, much like I disagree with a lot of what Torvalds or Raymond say. I may disagree with less things that Stallman says than any of the previous two figures, but this very far from deciding that the uncharitable interpretation of a paraphrased quote mine is representative of the whole free software movement and its purpose.

Reblog this post [with Zemanta]

Does Free Software destroy the IT Profession?

GNU General Public License
Image via Wikipedia

A new commenter has opened a new vector of attack against Free Software in the comments of my article about manager’s dislike for IT Pros. There he tries to argue that the proliferation os Free Software and the GPL is harming the IT profession as a whole because now that anyone can write software and the combined efforts of thousands can create as much of a quality software as any capitalist company, the demand for expensive proprietary software is decreasing and thus less programming jobs can exist as there’s less opportunity to use state granted monopolies (i.e. copyrights) to make money.

The argument relies on what makes one a “Professional” and in the words of the commenter:

As for “giving many more people the opportunity to take part in the IT profession” — that’s just an outright lie. If you ain’t gettin’ paid, you ain’t a professional — and that’s by definition; go look up the word “profession” in a dictionary if you don’t believe it. All those coders putting stuff out for free? They aren’t professionals. Even if they lived up to what are laughingly known as professional standards (which they certainly do not), they wouldn’t be professionals.

This arguments sounds very much like the classic anti-piracy rhetoric from the Recording Mafias about how file-sharing is killing the music industry. But instead of file-sharing, the author here replaces it with Free Software. But the principle remains the same. When people can get something for free (whether that is free software or free music), they will not pay for it, therefore companies will not make enough profits, therefore there will not be enough jobs for people being paid explicitly to write proprietary code for sale.

But much like the music industry argument, the software industry argument is also flawed: Just because people cannot make money via the previous business models does not mean that nobody will ever make money. The Free Software business models are some of the newest experiments in money making, much like giving your music away for free is also a new experiment in making money. Both of them are not mature yet and there’s a lot of testing and trying to make them work, but there’s certainly a lot of people who do make money out of them and even better, there’s a lot more stuff being made.

And that’s the clincher really. When people complain that an industry is “dying”, they don’t really mean that less stuff related to that industry is being made but rather that those who were already using a particular business model cannot continue doing so. The original commenter’s problem is that those who were earning a lot of money by selling software cannot continue making as much or more. Why? Because free software outperforms them for a lower cost. In short the argument is that some people cannot continue selling less value for a higher price.

Of course they set it up so that it seems that it’s the poor wage-slave coder who is taking the hit by not being able to find a job or having their wages reduced. They completely forget to mention that it’s the consumers that benefit by being able to use a better quality product for a fraction of the price. In fact, the wage-slaves of the IT world have far more to fear from the Indian outsourcing companies than from Free Software which at least, when given enough critical mass, will allow far more people to work independently rather than in a wage-slave position.

Becuase this is the main way people can make money out of coding via free software. They do not have to sell their code, they only have to sell their services as a coder. They don’t build a program and then sell it, they are contracted to build and improve an already existing product which then everyone can enjoy. Taking a holistic view, this is overwhelmingly a positive result since rather than having people rediscover the wheel every time they want to sell something (and thus end up with many different programs offering basically the same functionality), you get people improving on what came before them; standing on the shoulders of giants and improving things for everyone that comes after them.

Another common argument to this point point that is brought is how people currently work: They build a program and try to sell it. by then pointing out that free software is gratis they assume that people will simply not build programs anymore. This is usually used in conjunction with games and to show why people don’t write free software games. This argument is simply taking the current system and asserting that this is the only way it can be. They ignore that the way people work is because of the way the rules of the game have been set which make one particular path,  “build and then sell”, as the most optimal to make money. But the rules of the game have not been set in stone and we can and should challenge them directly when they stop making sense.

If copyrights weren’t enforced on us from the dawn of IT, the current business models would not have built themselves around them. There would certainly be a demand for software and games and that would certainly have been fulfilled, only it would have been done in a different way. To take the way the software system has evolved because copyrights existed and assert that this is the only way it can ever work and the end of the world is nigh if we challenge this is simply absurd. Free Software proves this wrong.

Sure, the biggest software companies who are sucking at the tit of the state would suffer from it and possibly some programmers earning currently absurd salaries would have to scale down their demands to be in line with everyone else in the world, but everyone else would benefit. Better software for a fraction of the cost and a far wider tail for people to make a living on. The IT Profession would go nowhere as long as a demand for it exists.

In closing, one has to ponder how completely misaligned the ethical compass of scomeone can be, when they consider the voluntary act that thousands do for free – and for the benefit of everyone else – as something wrong, because it harms the greedy and for-profit acts of a few which are based on state violence and privilege and lead to a result where most can’t even possess the results. It shows how the way the system works can become so ingrained in the mentality of someone where they cannot even look externally at it and notice that if because of the way Capitalisms works a good act can be considered “bad” while a bad one becomes “good”, perhaps there is something inherently broken in the system itself.

UPDATE: Redditors have been providing some excellent arguments to support my point as well. Take a look.

Reblog this post [with Zemanta]