Feature Request: More flexible licensing.

28 posts / 0 new
Last post
Feature Request: More flexible licensing.

I have several Raspberry Pi devices that I use for experimentation and niche tasks, and I would like to be able to swap them out without having to request my license number be changed and without needing multiple licenses. I have only ever needed to use one instance of the USB server at a time, but there have been several times where I needed to swap out the device with the USB server on it for another one (hardware issue, location change, etc) but was not able to due to the way you pair the license directly to the device.

I realize that this is obviously a big request, but I don't think it's an unfair one. I'd like the ability to trust that I can seamlessly upgrade in the future.

The way i've setup the

The way i've setup the licensing is that its per server device, so if the server device changes the license goes back to trial. I understand this is a bit of a pain but i think it should stay the way it is. I can transfer the license once or twice manually if your pi breaks or something....

I understand, and assumed as

I understand, and assumed as much. I just was hoping I might be able to change your mind. Let me describe my exact scenario, and if you remain unconvinced I will leave you be. :)

I use your product as the lynch pin of a large group of moving parts that make up my mobile astrophotography (night sky photography through a telescope) setup. I use the Raspberry Pi (with the USB server) to send the USB connections from my telescope mount and multiple cameras over wifi to my field laptop, which I use to control every aspect of my telescope rig. This permits me to not have wires constantly connected to my laptop, and thus gives me a crucial degree of freedom as I do my activities overnight. Everything works great, on that front!

But, this setup was originally put together on the back of a Raspberry Pi B+. Recently the Pi2 came out, and I immediately jumped at the chance to upgrade. I received my new Pi a couple days later, and as luck would have it, the day it arrived was both a day or two shy of new moon (the best time of the lunar cycle for doing astrophotography) and the weather was perfect. These two things almost never happen at the same time, so it was a very rare opportunity to seize the night. Naturally, I wanted to use my new Pi2! I mean, all I had to do was install the OS and install the USB server, right? That could be done in an hour or so, and I could be out the door in time to get to my remote site in the countryside before sundown!

Obviously, that's not how it went down, because when I started the USB server, it didn't accept the license I had copied over! A few minutes of research, and I found that this was the expected behavior... And there were only two ways to resolve it: ask for a new license, or buy an additional license. Unfortunately, it was the afternoon in my time zone (US central), which meant that it was approximately 1-2AM in what I assume is your time zone in Sydney. If I gambled on option #1, I could lose out on my unicorn evening. I was not willing to risk it, so I ended up having to purchase a second license in order to get out in time.

Don't get me wrong - I don't mind having paid for the second license much. I think you've got a great product, and I like to support good products, especially when they're small operations. But it does frustrate me a fair bit that I was more or less forced into it.

If I may suggest an alternative, if you could set up an automated system that would make that transfer/conversion without a turn-around time, that would mostly solve the problem - at least the problem that I had.

In any event, if you feel unfazed, I will leave it be - I understand your reasoning, and don't fault you for it. I just feel like it could be done in a way that wasn't as frustrating for the end user.

Either way, thanks for taking the time to read over this, and for your frankness. :)

I think i want to keep it the

I think i want to keep it the way it is as i dont want to give too many licenses away for people, the reason is virtualhere is a full-time business for me and i invest a lot of effort and money in the software and fixing bugs/adding features and if i starting giving away a few full licenses to everyone then it may not be as sustainable as it currently is.

I notice my competitors change 10x the price of virtualhere for their products, and all their software is provided as time-limited trials only. All Virtualhere builds of the server provide time-unlimited trials so i feel thats a fair tradeoff (NAS is different as most users are businesses and should pay).

No need to defend yourself to

No need to defend yourself to me - as I said, I completely understand where you're coming from. I also write software for a living, and I completely understand that the bills do not pay themselves. I was just hoping that a middle ground might be found (such as making license transfers automated) that would satisfy both of our needs/desires.

I appreciate you taking the time to address the request honestly and thoroughly, even if your answer is ultimately a "no". I will let the topic rest. :)

OK, by the way its seems

OK, by the way its seems overly complicated using a pi for tihs, just use a wireless router like the HAME-A2 or the TPLINK-3040 and put virtualhere on that. It has built-in battery usb and wifi! And runs openwrt and virtualhere quite well.

e.g http://www.instructables.com/id/Wireless-tethered-shooting-with-any-DSLR...

Those would not work for my

Those would not work for my use case for a few reasons.

  • I need a minimum of 3 USB ports, for one - one for each of the two cameras, and one for the electronically-controlled mount.
  • I have built custom hardware to read the ambient temperature and humidity levels from the environment, as well as a light sensor to automatically detect sunrise. I could not connect this hardware to any such device because they were built to use GPIO, as was the software that I wrote to read from them. Same goes for the analog joystick that I built for mount control.
  • The goal is to eventually no longer need the USB server software and simply run everything directly from the Pi itself. But the hardware cannot currently support the activity of all the services that need to be run to coordinate my activities. This is not necessarily the hardware's fault per-se, but may be a result of insufficiently optimized software. Either way, using the USB server is the easiest/simplest solution for the time being. :)
One more thing: I'll also

One more thing: I'll also note that the battery capacity of those devices is woefully insufficient. I very nearly max out the amperage draw on my Pi2 USB bus, which is 1.2A. With a 2000mAh battery, I wouldn't even make it 2 hours before it died... That's how long it normally takes for me to get spooled up for an evening's work. No bueno. :P

The hame is 5200Mah and you

The hame is 5200Mah and you can supplement it with a power pack, anyway yeah it provides no access to GPIO without some serious hacking and finding the correct pins at the back of the PCB and only one usb port,

but honestly why not offer

but honestly why not offer for example a way for the user to deactivate the license from the server and then reassign it to a new one? this is a thing that many other awesome pieces of software have and would be quite helpful.

also a floating license that

also a floating license that just works similar to games on steam would also be pretty awesome in my opinion.


No sorry floating licenses are not going to be implemented, it works the way it is

may I ask why that?

may I ask why that?

while implicit floating like steam sure may be a lot to ask, at least the ability to at least explicitly invalidate the license from the old (not yet broken) server and add it to a new one should in my opinion be a thing in every software that costs more than just 10€ or whatever. I sure have no opinion of how australian customer protection laws work and you probably are safe from laws elsewhere because you are not a multinational company, but here in germany Microsoft actually had to make an excemption in the Office 2013 EULA because they did not allow for transfers in that (later they made it possible for everyone but it was quite a thing here).

why not bind the license to IP?

I know I am commenting an old thread but times changed and the problem remains the same. You are binding your license to a thing which is more and more irrelevant, replaceable and perishable- the hardware. Honestly, this is the one thing stopping me from buying it. In my automation project (reef tank monitoring and control) I cannot afford a situation when a hardware failure stops me from being able to rebuild on the fly with anything I have at hand because I am waiting for you to rebuild the license assuming you will agree to do that and will be available at all. These are my pets, apart from being expensive.
Why not bind the license to an IP address? This would make it hardware independent. And, before you point out a possibility of abuse of such solution - it would require a lot of effort in a very specific application when the customer already have a possibility of connecting unlimited number of USB devices. I seriously doubt if someone with such requirements would go into trouble of creating separate networks or address translation to save on license cost.
Alternatively you could provide an automated system to re-code licenses, but I doubt it is a better solution and worth the effort.
Until then, for the price of a license I can rig a number of second hand boards and have a system with maybe too many wires but redundant and not relying on a license as a single point of failure.


Guys, its a free market, you are welcome to use my competitors if you dont like virtualhere. Some of them may even provide a floating license that calls back to their servers. Thats not the way i do business.


binding to IP is not the best Idea ever. while it may help for some servers, in case of home use you get a real problem with dynamic IPs.

sure the market is free but some kind of being able to at least deactivate the license if the hardware still works and then being able to re-bind it if needed, which sure is not fully floating, but it certainly allows for a lot more freedom than what we have now, and one has to admit that the complete binding to a piece of hardware isnt the nicest type of license.

moving licenses

I think I'm with @My1 on this. @pikor69 binding to IP address is not really binding the license at all. All the IP addresses in my home lab and my internet connection change occasionally. Either as I restructure my network or my ISP makes a change. Binding to MAC address (which is what I assume is happening) is less likely to encourage abuse.

The idea of being able to move the license to a new host doesn't seem unreasonable - my backup software (Acronis) allows this. I have paid for 5 licenses, and as projects (and virtual machines) come and go I move them to new machines and they become deactivated on the old machines.

*BUT* - Virtualhere is a fantastic deal at US$40 or US$50. I tried to find something to perform this function for quite a while, trying an assortment of devices all of which cost more and worked poorly. It's almost embarrassing to pay only $50 for a solution that works so seamlessly.

In a situation as described above (expensive saltwater tank, or complex telescope/photography setup) I find it hard to believe that the price of a new license is an actual deal killer. Building an automated system for moving licenses would take time and resources and necessarily the cost of that time and resources would need to be reflected in the price. The way it is, especially since Michael has offered to move a license a time or two, is great for probably 99.9% of his customers. I value *my* time pretty highly, and everyone's time is valuable. Spending time "jury rigging second hand boards with too many wires" rather than risk the *possibility* of having to buy an "emergency" license doesn't seem like such a good tradeoff.

@rob.philip binding to the

@rob.philip binding to the MAC may be intresting (especially if you could choose which network adapter gets it. that way an external (e.g. USB) network adapter could be used and thereby making it MUCH easier to move the thing around, at least as long as you dont break the adapter. and honestly for a usecase I would love to use (being able to use U2F from far away on my home computers even though U2F needs a direct interaction) would obviously need such a float because the server is always the device that has the USBs plugged in.

also I have seen deactivation systems for software that costs MUCH less than VH and I mean VH is intresting, especially on the steamlink where the license actually is floating, around. any steamlink can run a server and steam accs with a license can run the client on a computer connected to a steamlink.


Valve handles all the virtualhere on steamlink floating license issues, not me. They have the infrastructure for that, and set it up that way.

One of the biggest requests i get from steam users, is how to not use a floating license :)

License Transfer

Just to get clarification on this. The policy for a dead device is to purchase a new license?

Unraid has a similar license but it's bound to the serial number of the flash drive it is stored on. I know this is a dead thread but it seems like binding the license to the device and requiring a new license if the device decides to die seems a bit extreme. The method I mentioned unraid using seems all around more friendly to everyone. I wouldn't even mind paying more for a license that could be bound to a flash drive.

All of that aside I appreciate the work you do and this software has been a life saver at times. My only concern is losing access to it because of a dead device. Thanks.

You can just email me and I

You can just email me and I can move the key to the new device


well if unraid is bound to the hw it is stored on you basically have the same issue all over again if your flash drive dies.

Michael, I'm speaking from

Michael, I'm speaking from the perspective of a prospective customer who also has decades of experience with both software development and business. I have recently discovered VirtualHere; it looks like a great product. I have several applications where wireless USB would be a real step forward.

However, the requirement of needing your personal attention to do something as trivial as moving a license is a real turn off for me. I totally understand and approve of your use of licensing, but as a customer, my expectation of licensing is that it be automated and transparent. Even if you don't mind doing this by hand, I still don't want to bother you with this sort of administrative detail unless the automated system is broken.

I'll offer one idea for your consideration. I'm not suggesting this would be the best answer, or even that it's any use at all to you, but it does illustrate one way this could be solved without creating a large project. I have worked with other vendors that use a simple queue to represent active licenses. Moving a license to new hardware just removes the oldest license/hardware key from the queue while adding the new license/hardware key. Now it's true that the oldest key may not be the right one to deactivate, but the system corrects itself over time so that the most recently used hardware stays licensed without manual intervention. In my experience, this handles a majority of licensing use cases. It also scales easily to more sophisticated handling if needed.

I am looking forward to trying VirtualHere, and hope you continue to find success with your business.


Hi Liberty, thanks for your ideas. VirtualHere was originally designed to be stand-alone and not require the use of the internet to function. Deactivating/moving licenses is not possible without the internet. Its technically impossible to "deactivate" a license when the software is standalone and doesn't require network access.

That being said, recently I have actually implemented floating licensing if your server always has internet access.

There is a way to have floating licensing via the EasyFind system i wrote a few months ago. I just haven't advertised this feature of EasyFind. But basically i was going to add a product where when you subscribe to EasyFind you pay a bit extra per month for a full license of virtualhere. The EasyFind system knows how to handle this and when it connects it checks what license it needs to have. That way you can move between servers. If you are interested it in this, let me know and ill switch it on so you can try it.

Michael, thanks for the reply

Michael, thanks for the reply and additional information. The EasyFind system looks awesome! I just setup my first CloudHub in a single device scenario, so I don't need EasyFind yet, but I will let you know when that changes.

Hi Michael,

Hi Michael,

If you are looking for people to test this EasyFind feature you mentioned, I would gladly help.
I was about to buy a server licence, and make without EasyFind, but I would be quite interested by a subscription model to use a server, rather than a perpetual licence.


OK thanks for the offer. At the moment im not working on the easyfind+software subscription at the moment but i'll let you know if i do in the future so you can test it

there's still interest for this

I just found VirtualHere today. Tested with Android-Smartphone (trial) Server and works like a charm for my project (except for PS3Eye. I understand it's a niche camera to use as a webcam anyways, so I'll upgrade it eventually)
Also you're still active in the forum, which is perfect!

As a hobbyist I only stick for a single project for so long. But I have various Raspberry-Pis, a smartphone and a laptop to play with.

| There is a way to have floating licensing via the EasyFind system i wrote a few months ago. I just haven't advertised this feature of EasyFind.
| But basically i was going to add a product where when you subscribe to EasyFind you pay a bit extra per month for a full license of virtualhere.
| The EasyFind system knows how to handle this and when it connects it checks what license it needs to have.
|That way you can move between servers. If you are interested it in this, let me know and ill switch it on so you can try it.

If you're wondering if there is still demand for that feature: it would be perfect in my situation.
That's all.
Thank you for this awesome tool!

Log in or register to post comments