To Open Source or Not

Originally I was planning to open source my MergableCellListbox subclass this month.

I had always intended to open source it if it went a year with no sales at all, and 2020 was the first such year.

As I previously mentioned, when It was first introduced it, Einhugur StyleGrid did not support merging cells across rows and things like piDog DataView did not exist. It provided a unique capability for it’s day, but there are other options these days that do significantly more now and do it better.

It is based on the Xojo Listbox API from 10 years ago. Over the years I made minor updates/tweaks to keep it working (it was all that I needed to do). While I have not yet moved beyond 2019r1.1 it is still working fine there in a project I just finished…

But it needs updating, both for newer Listbox features as well as API 2. Originally, as long and it continued working, I was not going to do any more work on it. I planned on open sourcing it, and maybe have others help update it to API 2 or add features…

But something has occurred that makes me wonder if maybe I should do that myself and drop the price (I never changed the price I always charged for unencrypted code about what PiDog does now for it’s encrypted DataView).

My current employer is going through a rough patch (right now they are behind in paying us!) and changing direction to survive… the new direction is one where my specific skills are not a great match anymore … So I think there is significant chance my job won’t last much longer.

Being (just) over 65 I know I may not be able to get another professional job, and social security in the US is not a lot, so any extra income would be welcome to augment my retirement savings…

If my job does go away, I will have a lot of time on my hands (I wrote that when I between jobs last time!)

But given the other options available these days, I don’t know if it would be worth the effort. While I could update it to work as it does, and maybe add a minor feature or 2, with my skill set I don’t think could make it more competitive.

If the sales would be almost nil, I would rather open source it to give back to the community, but if it could net even $500+/year I could use that , or at least pay enough to keep my licenses current.

That said, updating it would not be fun, just a lot of slogging through the code. So if it won’t pay I would rather not do it (for my own uses so far it is OK as it is)

I don’t have a good feel for if it might be worth doing… So what do people think? I’m not much of an entrepreneur or sales person!


That is a tough call… I was in a similar situation with a few of the classes I had been selling a few years back… but with the decline in sales, and the API2 fiasco, I basiclly have moved on from Xojo and doing everything in Swift now… That does lose me the xplat feature of course, but it also removes me from the irrational (my opinion) mindset that Xojo and its managment have. I opted to not open-source anything, but simply remove it from my store. I will be 65 in just a few short weeks, and was “retired” (read laid off) from my job 5 years ago. With the small pension I get from a previous job, my Social Security, and my 401K I make enough to be “comfortable”… even though its only a 1/3 or so of my last salary.

So my input… If you feel the effort to upgrade it is more effort than you see profit (and to me profit is both the money and the enjoyment of doing the work) than open source it and move on to something new. And I think with the direction that Xojo is heading, something new would be the most prudent choice…

Hello Karen,
maybe if you would lower the price and list your product at you could sell additional licenses.
Or as an alternative: Ask in the Xojo or INN forum if one of the developers would want to buy and take over your project so that the new owner can update and sell the product in the future.

A bit a curve ball: if you upgrade it to API2 why not document it as a series of xDev articles? A lot of Xojo users are still on API1 so might appreciate reading about your experiences. Or some articles on how you tackled programming problems? Marc Zeedar is always happy for hearing from new authors …

1 Like

What would be your benefit if you open sourced it?
Giving something away because nobody wants to pay for it doesn’t feel as a good reason for me.

Someone else could write the API 2.0 code and make a pull request.


It should not be a question of sold entities to make something open source. For me there is a bright difference: whenever I see that I am doing not a commercial development but a development which is good for the community I would decide to do open source. As a package Maintainer it is for example for me totally normal to do much work for the community and to write open Source stuff. But from my point of view I have now a perfect situation: when writing open Source I feel it open source, it is not the feeling that I lost something or that I want to do something like a funeral to get a grave place for my project.

So if you will set it open source, think about if you want to make it better, nicer looking and so on. If you can answer yes, make it open source and work from time to time on it. If not: sometimes I erased sourcecode under this circumstances.

I have waited a bit before responding to see what people would say.

The biggest difficulty I have is figuring out if the is enough potential financial value left in the class to update it. As i said it still work for me, so as of right now for my own use I don’t need to update it for that.

Has anybody who has responded (or intends to) actually taken look at/tried the class? (not trying to drum up sales with that - but having done that would help having an option about it’s worth even if you did not have a need for it)

I think it would be useful for some even if not updated to API 2, particularly those that don’t earn money with Xojo. Over the years community has answered a lot of questions for me as well as shared code I have used - I have done a little of that but not a lot (mostly because of the type of things I do as well as skill level)… so i would like to do more.

If updating it won’t help me enough financially I really would like to give something more significant back than I have been able to, to date.

I remember when you shared about it… Time flies I did not realize it has been that long already!

[quote=“DaveS”]With the small pension I get from a previous job, my Social Security, and my 401K I make enough to be “comfortable”… even though its only a 1/3 or so of my last salary.

IIRC you are in the San Diego area… Nice weather (certainly better than here in Mass) but a more expensive place to retire than here!

I never marketed it a lot… But even before API 2, to do that it woudl ave needed an update…As i said it was written to the Xojo listbox API/capabilities of over 10 years ago. Since then Xojo implements some of teh new featured I added, but did it a bit differently… Now add on top of that the change to API 2 needed (BTW I had to override just about every listbox method as well as add more)…,

And i think that would apply to selling it … The core of what I did was not difficult, but wrapping it all up in a nice, transparent, Xojo Listbox consistent API was where most of the work was. Generalizing things is a lot more work that doing a specific case!

Markus, you have been seeing my typo laden, garbled posts for years… What make you think I am a good writer?

As i said feeling that I have given something back for everything that has been given me by the community.

As i said, for those who need to be able to merge cells in a listbox, but can’t justify a paid solution, I think (but I am biased) this would be useful as is, at least until API 1 is no longer supported, and others could do the API 2 update if needed.

Not sure what I will do yet.

Thanks all, for the feedback.

Marc uses proof-readers :wink: … though I have to say they seem to make my articles worse … :exploding_head:

I would certainly agree that a lot of people will find it useful, especially those on older Xojo versions (there are quite a few still using 2017 R3 / 2018 R3 / 2019 R1.1).

IIRC you developed your apps in your own time and at your own cost. IMHO that would make these apps yours and you are free to sell them.

If this is the case, then that is what I would suggest. Polish your apps and start selling them wherever you can.

I’ll be honest and say that I don’t make that much money from selling my source code, I make more money from selling my apps. I think of my apps as like a CV, they demonstrate not only what technical skills I have, but also the level to which I polish my work. So far this year, I’ve already had several minor contract jobs, from people who use my apps.

Selling apps nowadays is a different discussion :slight_smile:

for me the code I publish as open source is the CV in many ways

1 Like

+1 to that. When reaching out to consulting leads I include my github profile as a means to “preview” my source code style.

1 Like

Typically it would be all by own cost, but 80% my own time and 20% work time… and very specific to what needs to be done at work and the workflow there… and beside that they are typically specific enough to guess what my employer is working on.

Besides all that they don’t have features expected in a commercial apps.

An example just discussed on TOF, is undo… I have never implemented anything but the most crude form of Undo (reload ALL the last saved values if there is one).

Action by action undo I think is something rarely done or even attempted by “citizen Developers” for in-house apps!

I think of my apps as like a CV, they demonstrate not only what technical skills I have, but also the level to which I polish my work.

Remember I don’t make a living from coding, have never written a sale-able one, never mind sold one, and I am not a consultant…

I am just someone wondering if I can make a few dollars to help supplement my retirement income by leveraging an update of a class i have written. And that is only because it looks like “retirement” may come sooner than i would prefer.

I would think twenty plus years ago it would have been easier. Besides prices being higher then, now there is way to much competition unless one finds a very specific niche who’s need is not filled , one is familiar with, and you can fill well! But even then, the app would likely be quickly cloned if successful!


PS: the first time I saw the acronym TOF here, the first thing that sprung to mind was “Time of Flight”! Took a few seconds to dawn on my it meant 'The Original Forum"!



WTF is “body unclear” error?


I don’t see that in my post.

Reviving my old thread, I really don’t intend to update my Mergeable Cell Listbox. It is AP1 and was based on what the listbox could do 10+ years ago and I coded it to make the API as close to that as i could…

Afterwards Xojo implemented some of the extras i did ,but in a different way (If you use some the newer but still old now API 1 Xojo listbox APIs -particularly hierarchical)- it will break.

Of course it knows knowing about the really recent stuff like header paint events etc.

On top of that, with new controls coming soon, and more powerful 3rd party options are available now than were available 10 years, I don’t think it is worth the effort to update it.

That said it still works… I just recently used it in a new project in 2019r1.1 and it still works fine (I even fixed an obscure bug while debugging that project)

While I’m not sure it would matter to many at this point with all the caveats it has, I am willing to contribute it the the community as open source with a liberal licenses as is, if people think that is worth while…

I am not sure how to go about that however … I would want to put it somewhere as a zipped folder with a the project in Xojo binary format (all I use- no lectures about version control please! :wink: ) so that the resources the demo app need are there and it will just compile when unzipped…

I have never put anything on Git Hub, but from things I downloaded, it looks like people usually put Xojo text projects …

Is there a good, easy , simple no hassle place to put it, that someone who does not know source control systems and just wants to upload a zipped folder can easily deal with?


This might be a perfect opportunity to learn how to use GitHub with one of the GUI frontend apps. GitHub Desktop is pretty decent but historically I’ve been more of a Tower user (but likely isn’t worth the $ for your use case here).

Some great primers on git can be found at Tower’s website and this is likely a solid jumping off point for you even if you use a different tool.

Yes, you’re correct you’ll want the text version of the project so that GitHub can determine file deltas based upon the changes to the source code.

You could always put the binary project on github and leave it to someone in the community to create a pull request with a text version. Open source means anyone can contribute, not that you have to offer a perfect thing!

Please just say Git! Git is the underlaying CVS not GitHub. Microsoft GitHub is just an HTML Overlay, an Interface nothing less. There are plenty other ones and Microsoft GitHub is to blame cause it fuels the ecosystem Microsoft is running. Better use your own instance (e.g. with Gitea or GitLab, on NAS Storage they are already built in and ready to use.

For my projects I am using such an instance, running in a jail on my FreeNAS as long as you have a powerful Internet connection and not millions of people accessing your repo this is the best way to run your own Git Infrastructure.

I’m not the one who mentioned GitHub, Karen did. As she is new to that side of the house, I wasn’t going to be overly pedantic on things.

But as you brought it up, yes, you’re absolutely correct that GitHub is a wrapper or superset of git. That’s only one option, although one of the more popular ones, to solve this problem. Other semi-well known options would be GitLab, Bitbucket, Assembla, etc.

But of course if you start going down this rabbit hole, it doesn’t necessarily need to be git as there’s plenty of version control systems (VCS) out there from Subversion, Mercurial, Azure DevOps Server, Perforce, etc.

And you’re also correct, Karen could completely self host the whole thing herself. But if she wants the most mainstream path with the least amount of effort, picking one of the more common VCSes to host things might be the best course of action.