ARGEN is now open source

Underwriters Technologies has purchased Argen, a tool for use with Active Record and Xojo. We do not find it commercially viable to continue to develop and sell the product. We are aware however, that there are a number of users that are dependent upon Argen in the Xojo community. We do not wish this to cause undue hardship on those developers.

First and foremost, please understand that we make a no warranty no promise and no representation that we will continue at all in the future. In fact, we make no representation about the usefulness, utility, quality or anything to do with Argen whatsoever.

We have made arrangements to see that the current license server will to continue to run for existing customers. However, we encourage everyone to migrate away from any commercially locked versions and use a DRM free build from the open source repository. We will endeavor, but not promise, to make an announcement where possible when the license server becomes unavailable.

The project has been open sourced. You may find the source code at the following URLs.



Congratulations to that move.

That’s great, thank you for doing that for the community.


Can this project (argen) be built as is?

I have tried and I get six errors as this:

winManualRelationship.ctlSplitter.Open Declaration
ctlSplitter on winManualRelationship implements the event “Open,” but its superclass WindowSplitter has already implemented the event.
Sub Open()


The section in Readme with the requirements would be handy. As far as I can see, the project requires MBS and Einhugur WindowSplitter plugins. Additionally, it probably wasn’t intended to be built on Linux.

I managed to run it, in a quick and dirty way, by removing MBS references (sorry Christian ;-), install WindowsSplitter (demo versions of Einhugur plugins are full versions on Linux systems), and add build settings for Linux.



surprising !

Are the MBS Plugins absolutely necessary? If not what functionality is lost? (I do have a relatively recent Einhugur license)

This was not originally going to be open source so I guess there was not a concern about using commercial plugins.


They are not necessary it is just UI stuff. Two calls to accessibilityDisplayShouldIncreaseContrast to change font color when using darkmode and accessibility on MAC. Some calls to moWindowsTaskBar.SetProgressState to set the progress on the taskbar on windows.

That is right, the MBS can be removed and actually the WindowSplitters can be removed as well. Just make the left part bigger on the windows and you will not need the Splitters.

1 Like

Thanks for your directions. You’re right: The source code “as is” needs these four requirements to build:

  • Einhugur’s WindowSplitter plugin
  • MBS Xojo MacBase Plugin
  • MBS Xojo MacCocoa Plugin
  • MBS Xojo Win Plugin

In addition, you have to enter your MBS Plugin licence details in the method App.RegisterPlugins or you will get an error at runtime.

Of course, you can disable the use of the plugins, but that requires modifying the source code.

– Oscar.

“Of course, you can disable the use of the plugins, but that requires modifying the source code.”

Yes. Providing the source code for such a tool is a very kind and useful move. Also, as an example of a larger project in Xojo from which you can learn a lot. The problem is to modify the source code and to create a pull request on GitHub, one has to have a desktop license (at least and reasonably new) - to have the privilege to save the project as a “version control project.” It’s not cheap to be an open-source Xojo programmer :wink: and this kind of restriction is definitely not a smart move, from a community growth point of view, but maybe from the business side, it looks different.


1 Like

If any of you guys code around the use of the plug-ins. We will be happy to update with your changes.

1 Like

My modifications are here:

  • references to MBS plugins removed
  • references to Einhugur WindowSplitter plugin removed, added imSplitter instead
  • build settings for Linux added

Only tested on Ubuntu, it looks like it works, after very quick tests. In my free time, I will see if it works under Windows. Unfortunately, I do not have access to macOS at the moment.

There is one formal problem, ARGEN is MIT licensed, but imSplitter uses BSD-3, I’m not sure if they are compatible and if this is legal?



For public record, we’re not going to enforce any copy rights based on a MIT license versus a BS D3 license.

ARGEN is MIT licensed, but imSplitter uses BSD-3, I’m not sure if they are compatible and if this is legal?

After reading this: “BSD-licensed projects can be used / redistributed in MIT-licensed projects? - False. MIT license allows for distribution without contribution credits; BSD doesn’t.” (
open source - MIT vs. BSD vs. Dual License - Software Engineering Stack Exchange) I’m not sure. It would probably be safer to give up the splitter altogether?


So stick the credit to he splitter in the project then. Am I missing something ?

Just don’t want to overcomplicate things. Like dual license or something like that. I want to make minimal changes to run the application under Linux without plugins.

Hi Piotr
I have just compiled and build on my Mac and is working, just open my project and seams all ok.
Probably there is an other call to the MSB plugin as

appear this notice on the startup of the build.
Great job!

Enjoy my plugins. You can get a trial key here: Trials

1 Like

Hi. I see. There are several places, like:

  • Controls->TableListBox->GetSecondaryColor
  • App.SetupWindowMenu
  • App.HelpUsersGuide

where MBS plugins are still used, mainly: NSColorMBS, NSWorkspaceMBS, NSBundleMBS, NSMenuItemMBS, NSMenuMBS.
(And there are a few more places where #if TargetLinux is probably needed, but that another story)

NSColorMBS probably can be easily replaced by a simple color value, like for the non-macOS variant.
But, as I use now only Linux (and rarely Windows) I’m not sure how to replace these other “NS…something”… There was a topic a few hours ago: about macOS ARGen and MBS, maybe someone there has a helpful hint?

It’s easy to remove the MBS dependancies