I'd think the strongest answer for "keep honest people honest" is to streamline licensing as much as possible. In a fundamentally well-intentioned organization, what's the ratio of "dishonest" to "doesn't understand the license specifics?" (i. e. not recycling licenses properly when a user replaces his machine)
Vendors should be pushing for organization-level licensing. Anything per-user/core/project/etc. is going to require a lot of tracking overhead, and create much more incentives to game and gimmick it. I'm picturing the shops which stagger shifts at sites in different time zones so as to keep the simultaneous user count low, or people buying specific weird hardware to keep core counts low on per-core-licensed software.
If you're just doing organization-level licensing, you can scale all the counting back to a less disruptive and intensive "analytics-only" level, and just use it to inform the next round of negotiated pricing. "We know you have 500 simultaneous users, so we know this package is worth $50,000 per year to you."
> "We know you have 500 simultaneous users, so we know this package is worth $50,000 per year to you."
That's like 1-2 simulator licenses per year. You really don't know the cost of the software generally being protected by FlexLM do you? When I was working in defense contracting, every new grad that we hired into our FPGA or ASIC groups had to be accompanied by a $100,000/yr budget just to pay for EDA tools for their jobs. For more senior employees who'd generally work more in parallel, it wouldn't be odd to see $300-500k/yr in software licenses budgeted. Because of this, we basically tried to staff as many software engineers as possible on projects as most of what we billed them at was just profit as they're incredibly cheap to employ compared to other engineering disciplines.
FlexLM is annoying, but the things it's usually protecting are so expensive (and often extremely niche use) that companies actively try to find every legal way to avoid paying for it.
I see the appeal, but, I work at a couple-thousand-person company (an electronic trading firm) where we have a few diehard MATLAB users (we officially support the scientific Python ecosystem) and a small handful of folks doing FPGA work. If either of these licensed based on the total size of the organization, it would likely make us reconsider whether these products are worthwhile for us at all. I wouldn't be surprised if lots of FLEXlm's customers' customers were similar.
The problem with org-level licensing is that it prevents more discriminatory licensing models from being viable. The kinds of software being protected by FLEXlm have customer counts in the tens to hundreds, with every licensee almost certainly requiring additional development work or other forms of support or documentation be done and folded back into the upstream project at some point. Complicated licensing models, at least here, more or less exist to estimate how much a customer costs to support.
Mass-market proprietary software generally has far simpler licensing, purely because their customer lists are far larger relative to their staff. The actual development costs spread out more.
Vendors should be pushing for organization-level licensing. Anything per-user/core/project/etc. is going to require a lot of tracking overhead, and create much more incentives to game and gimmick it. I'm picturing the shops which stagger shifts at sites in different time zones so as to keep the simultaneous user count low, or people buying specific weird hardware to keep core counts low on per-core-licensed software.
If you're just doing organization-level licensing, you can scale all the counting back to a less disruptive and intensive "analytics-only" level, and just use it to inform the next round of negotiated pricing. "We know you have 500 simultaneous users, so we know this package is worth $50,000 per year to you."