📜 ⬆️ ⬇️

... And Justice for All

Colleague IvanKlut in his article " In Search of an Ideal Licensing Model " raised the issue of the imperfection of existing licenses used in the development of OpenSource projects in terms of monetization of developers, and suggested " reflect on the device of a more efficient ecosystem of developing complex software products by the independent developer community " (with).


image

Under the cut my subjective considerations on this matter.


Centralized income distribution


It seems to me that the proposed colleague’s scheme “ We need a non-profit organization whose goal is to ensure the sustainable development of the project and maximum accessibility for consumers with sufficient resource support ” lacks anarchy.


Independent non-profit organizations do not survive under capitalism, but "whoever pays is the one who orders music." More than confident that the developer of the fresh module for such a project, just laid out on github, does not even think about participating in the financing of such a "non-profit organization." And as a result, his interests in this "concern" remain unrepresented.


I have some experience in developing modules in a similar structure, although this is a commercial structure (but this is just natural, since we are discussing the monetization of the development). I mean my " beloved " Magento (no, really loved - I still spent 6 years of my life on it). So, the Magento CE platform is completely free (unlike the Enterprise Edition), but the cost of some modules for it can reach 5-digit numbers in US currency.


Some analogy with the suggestion of a colleague IvanKlut can also be traced in the placement of applications (modules) on services such as Google Play (the project - Android) and the App Store (the project - Apple).


In all three cases, the interests of the developers of the "modules" are clearly in the "shadow" of the interests of the developers of the "platforms". And this is normal, it would be strange if it were the other way around. And I doubt that the "non-profit organization" will be able to change the situation by 180 degrees.


Delegation pattern


And what will happen if we apply a delegation pattern to the current situation? Suppose the developer does not bother to collect money from the consumer of his product himself, but delegates responsibility for this troublesome work to a certain “related object”? Call this object the Agent - by analogy with Rick Peck, the agent of the actor Tagg Speedman (the film " Tropic Thunder ")


image


Magnificent Matthew McConaughey brilliantly played the behavior of the agent in a situation where he faces a loss of income brought by the actor. However, as well as his behavior, when the actor brings the agent a steady income.


So, let the Developer write the programs, and the Agent collects money for him from the Consumer using these programs for commercial purposes. Is it fair that a Developer can count on a part of the commercial profit received by the Consumer at the expense of his programs? I am sure that the developers will consider this question rhetorical.


Why enter the Agent as an intermediary? It seems to me that everyone should go about their business: the developer - to develop programs, the actor - to play on stage and in the cinema, the entrepreneur - to earn money, and the agent - to represent someone's interests. But what to do if Tagg Speedman plays better in movies, and with Less Grossman speaks better about money Rick Peck ?! This is obvious - Taggu is better to continue playing, and Riku - to continue talking about money. It is not necessary for them to change places, nothing will come of this travel.


Well, let's say, the Developer has delegated to the Agent the right to collect payment for the product developed by him from the Consumer. Where is the guarantee that the money received by the Agent will reach at least in some form the Developer? After all, this is not a rhetorical question.


I would say so, the Developer will get exactly as much money as is needed for him to sit, develop his product further and not be very interested in the world around him in general and in the cost of his product for the final Consumer in particular. Well, isn't that what the majority of Free Software developers aim to be able to develop their product?


Will the income be divided by the Agent in fairness? I am sure that - yes! At least from the point of view of who shares this income. And what if the developer himself believes otherwise? The answer is simple - to dismiss the Agent and delegate his duties to another Agent. And better to other Agents.


Each Agent has its own style of work, its own "consumer niche". It is difficult for an actor to star in 100,500 films at the same time, and for the Developer to write a program that will work in 100,500 commercial projects is quite capable. So let the Agents represent his interests in these 100,500 projects. If necessary, even if only one Agent per project. On what terms does the Agent sell its product? Yes, on what is sold - the product is worth as much as you can sell it. More Agents, good and different. Most importantly, the Developer has the opportunity to “dismiss” any Agent if he is not satisfied for some reason with his work.


And I have suspicions that good Agents will be able to represent the interests of not one Developer, but the interests of many Developers at once. And the most different projects - starting with jQuery, and ending with the Linux kernel (although there is more or less with monetization, isn’t it?).


Thus, we have just a " complex system with many independent subjects " (well, or weakly dependent ones). Agents depend on many Developers, and Developer - on many Agents. In general, a separate bundle "Agent RP - Developer TC" in this composition does not solve anything and can easily be broken by any party. But if all Agents break their relations with a specific Developer or all Developers with a specific Agent, then the game may end for that particular side.


From my point of view, this situation should stimulate all elements of this mosaic to adhere to the "win-win" strategy, which should benefit the industry as a whole.


"What to do?" (with)


And how do we get to such a life? The licensing specialists may correct me, but it seems to me that it is enough to insert the following 3 points into some licenses such as MIT and BSD, so that the prerequisites for such a life should start to form and accumulate. These three points are:



These three points come into effect only if the licensed software is used for commercial purposes and does not restrict other freedoms (copy, analyze, change, use for their own needs, etc.).


The owner (developer) does not even need to make sure that users follow these three points. It is enough to add them to the license agreement. As soon as such a situation develops, it will become possible to conduct commercially profitable activities of raising money from beneficiaries, I am sure that Agents will immediately appear. It is not for nothing that the opinion exists that " there is no such crime for which capital would not have gone with 300% of the profits ." And then there is no need even to go to the crime.


Well, even if guys like Less Grossmann and Rick Peck can't get the income out of your program, then how can you, a simple developer, harness oneself? Program your pet in the free time from the main work.


And the most important thing


And most importantly, to add these three items to the license for your project right now you are not worth anything.


')

Source: https://habr.com/ru/post/327000/


All Articles