XML and VCP Project Files

I wanted to ask about the decision to limit what file types you can save your project in? What is the reasoning behind the decision?

I don’t understand the rationale for this limitation either.

Is it just a temporary problem or is this going to be how the final product handles these two file formats?

Its confusing when they open up the whole IDE and say that the only part you truly have to pay for is to compile, then they add this very strange restriction.

I agree. Why should a license make any difference on what sort of file type you save to?

Without such a restriction, a team of five developers could purchase a single set of build licenses and have one person do all the building. That was never the intention of the new model. By requiring a build license to use XML and VCP (especially the later), any developers needing to use version control will also need a build license. That means each member of that five member team will purchase a build license.

You could, in theory, use the binary format and make all items external but that would be pretty useless with version control.

As a solo developer who uses version control, will I be allowed to use my license on both my iMac at home and my Windows laptop when on vacation and stuff, checking my files in and out on both machines? Or once I activate my license on one computer, will that be the only one I can compile on/use vcp on?

The new license system allows you to install your license on up to two computers as long as you are the only one using the license. It was designed specifically for people like you. If you attempt to install it on a third computer, it will warn you that doing so will de-install the license on the previous two computers.

I currently only use the binary file format due to a number of issues over the years with the VCP format, I don’t trust it enough to not lose data. I also found that the VCP format re-wrote it’s order enough that any idea of being able to look at diffs in version control was unlikely.

I therefore use version control with the binary format, currently git, with externals as git sub modules, and have no problems.

Git and the other modern version control systems are efficient enough with compression, and disks are big enough and cheap enough these days that size isn’t a problem. The only reason I would like to use VCP is for diffs, but as I mentioned above I’ve had problems with this anyway.

If things have changed and VCP is now as reliable as RBP, then great, I wouldn’t mind switching to it, but what I’m really saying is that I think you should look elsewhere for trying to keep teams paying for all their developer seats, especially as this restriction is going to anger open source developers that will now be forced to use the binary format to keep those that can’t afford a licence but want to contribute to a project happy.

Surely some sort of team support licence would be a better solution?

I would love nothing more if there was a technical way (rather than just a legal one) to enforce it.

So if we typically use it extensively on 2 computers and less so on 1 other computer, we need to purchase two licenses? Not a problem, still going to be cheaper than my Enterprise license I currently have, just trying to understand the new rules.

So the restriction is purely arbitrary then. Okay.

No, it’s not arbitrary at all. It’s no more arbitrary than us requiring a build license that you must purchase. It’s part of our “Keep Xojo, Inc. in Business” policy. :slight_smile:

Then you’ve purposely crippled it for anyone not buying a license. Got it.

I use it with the VCP format on Windows 7 mostly and haven’t had a problem with corrupt or lost data. But I compeltely agree with you on the order it saves things. If I do some straight code work in the code Editor, the order is pretty much let intact and I can diff and even merge pretty seemlessly. But if I make a significant change in the UI, forget about it, things get reordered all over the place and merging is a hopeless mess. If I plan on adding things to the Interface in a session, I try to button things up and commit to Mercurial before proceeding.

In my experience if your licence says that a company should obtain a support contract/licence to cover the total number of users, then they will pay, especially if it is a reasonable fee that gives their developers a level of support they are comfortable with for the non-build seats, for a slight discount.

If your restriction is something like … teams of 3 or more developers not wanting to purchase build licences for all seats should obtain an “annual support licence” for each of the seats without a build licence at $100 per seat … I’m sure you’ll see take up, businesses are much more likely to pay than risk being found out.

No one in charge of a company wants to be found breaking the terms of a licence.

If the team is as small as 3 or less then I expect each member will have whatever build licenses they need anyway, it’s inconvenient to not be able to build. I’d argue that most commercial developers are going to purchase a build licence anyway.

The file format restriction just smells funny, and is likely to leave a bad taste in some peoples mouths.

I also think that limiting the product like this is more of a demo, not a useful product license. I was looking forward to teaching my kids, but having them store their work and learn proper version control. With this model, I can’t do that without buying them build licenses for each product type they want to save a project as? For people who really want to work around 1 build license set, multiple developers they will do it no matter what. This, like gun control only harms people who follow the rules.

I would think the ratio of developers wanting to fudge on their license requirements compared to the number of kids needing to learn version control is in the thousands to one range. Just can’t see that being a big factor in deciding the license model.

I thought the reason for changing the licence was to get rid of the silliness of arbitrary crippling your software. You are blocking functionality that you just said you could work around. Hell, because the IDE does not support external items as VCP, all my external items are already in binary format (which I hate btw). People and companies that want to pay, will pay, tho who dont wont.

Building is the same, Bob. I suppose we could not require a license for that either but I don’t think that’s a smart business move.

IMHO, teaching kids about version control is way down the list. There is just a ton of stuff for them to learn before you ever get to version control. And even then, you could show them how it works with your license.