Would more developers join if VirtueMart SVN was migrated to GIT?

Started by claesbas, February 20, 2016, 20:57:57 PM

Previous topic - Next topic

claesbas

https://git.ispconfig.org/ what is this they use here? Its some kind of GIT system one can install locally?

I really recommend ISPconfig for all you web agencies out there! We have now skipped cPanel and Plesk after 4 years of using those to a free ISPconfig!
VMuikit - A Virtuemart theme for Yootheme template
https://joomlapro.com/vmuikit

VMonepage - One Page Checkout (Was free - now is €20)
https://joomlapro.com/product/virtuemart-one-page-checkout

VMKCO - Klarna Checkout Enhanced
https://joomlapro.com/product/virtuemart-klarna-checkout

PostHistorie.nl

To answer your question (the thread topic): yes, they would.
I speak for myself: I was going trough some virtuemart PHP code this week and noticed a couple of minor spelling errors, and thought let's create a patch.... and ultimately ended up here:

http://dev.virtuemart.net/projects/virtuemart/wiki/Setting_up_a_Development_Environment

And there is no bug tracker.

So this seems just too much for some spelling errors, barriers need to be lower. And Github specifically takes care of this (issue tracking, merging, forking etc.).

Yes, I can create a patch with patch(1) or diff(1) and email/post them but that is not how you want to do things anymore (this is not the 90s).

But apart from my opinion (which you may disagree with) when even old tools like emacs move to git (https://www.masteringemacs.org/article/emacss-switch-to-git) or when Bitkeeper (a source code version control system: previously used to host the kernel and the direct reason for the development of git) creates a presence on github itself (!!) https://github.com/bitkeeper-scm/bitkeeper) it should be very clear where you project should be to attract developers.

And that last part is the real question. It is not about svn vs. git. It is about, does Virtuemart want/need new/more developers to push development forward or does the Virtuemart core team think this is not needed (also entirely possible). But if the answer to the former question is yes, than git (and specifically github) is where you need to be. Go to where the developers are.

jenkinhill

Quote
does Virtuemart want/need new/more developers to push development forward

In my view, no. And this is my reason why:  There were a lot of "developers" working on VM2 in the early days of that version, and it became a real buggy code mess. Most of these dropped out in due course. And when it was time to start work on VM3 intitially progress was very slow with the need to clean out the parts that were not needed, buggy or simply non-functional.  So VM3 is effectively a full rewrite, with less dependancy on Joomla core so it is less affected by Joomla updates. If anyone finds a bug it is reported usually in the forum, most are picked up and referred to Max, and if acted on are tested within a small group. It works!

Of course what is needed is more people who can write good documentation for users. 
Kelvyn
Lowestoft, Suffolk, UK

Retired from forum life November 2023

Please mention your VirtueMart, Joomla and PHP versions when asking a question in this forum

Studio 42

@jenkinhill : only 3 developper was working on VM2. ANd what you don't remember is that VM2 was a complet rewrite from scratch, only the tables was reused and all feature in Vm3 was already in VM2.
The API was wrote since the beginning, to reuse code for all controller, model, table, view, JS api, translatable fields, plugins ...  so VM3 is a simple evolution of VM2 and is only possible because with max and valerie, we have wrote it so.
So yes Vm2 was not perfect, but the general structure is exacly the same in VM3 as vm2.
And yes, VM3 is better than vm2, and vm2 is better then vm1. If this would be the opposite, it would raise questions or not ?

thelordofweb

It will be better to move your SVN repository to GitHub.
You should provide easier option for developers to contribute to the project.

Even I post a patch to the forum, I am not sure it will be merged because it could be forgotten.
The pull request on GitHub are much more useful. Everyone will be able to send Pull Request and it will be easier to test and merge them.

VirtueMart is anchored in the past and dying because it moves forward too slow.
Look your competitors.

https://github.com/woocommerce/woocommerce
https://github.com/opencart/opencart

They have enormous closed pull request and move forward so fast.
If you do not change something, VirtueMart will go into the "museum".

I was big fen of VirtueMart. I would like to contribute, improving the code and usability.
However, the way that I have to send patches strongly discourage me.
Even, you create VirtueMart for Wordpress, you will continue to lose contributors.

My suggestion is to find a way to provide VirtueMart distributions (full installer) for Joomla and Wordpress on GitHub.
It has to be easy for downloading (cloning) and installing on localhost.
The contributors will be able to send Pull Request easily on GitHub. They will be able to comment and collaborate each other for every patch.

For example, you can look joomla-cms repository.

You will have to open the project to the world for more contributors.


AH

Quote"Would more developers join"

More is not necessarily better.

Who co-ordinates/validates/cleans - manages the quality etc?



Regards
A

Joomla 3.10.11
php 8.0

thelordofweb

It could be "Release team" just like for Joomla! CMS?

If you are looking for quality you will have to implement unit tests too.

I think, it is time to give new life of the project. I see it in few steps.

1. Set your goal and mission. It could be "Quality ecommerce platform with amazing usability."
2. Move the repository to GitHub and open the project for more developers and contributors.
3. Create teams - Release Team, Test Team, Usability Team,...

Next stage
1. Start VirtueMart v3.1 replacing deprecated/retro code with better one.
2. Provide unit tests.
3. Provide information about code style that has to be followed. PSR-2 is enough one.

Every major version (v3.1, v3.2, v3.3, v3.4 ) will remove deprecated/retro code replacing it with better one.

Studio 42

Quote from: Todor Iliev on December 17, 2016, 17:26:15 PM
It could be "Release team" just like for Joomla! CMS?

If you are looking for quality you will have to implement unit tests too.

I think, it is time to give new life of the project. I see it in few steps.

1. Set your goal and mission. It could be "Quality ecommerce platform with amazing usability."
2. Move the repository to GitHub and open the project for more developers and contributors.
3. Create teams - Release Team, Test Team, Usability Team,...

Next stage
1. Start VirtueMart v3.1 replacing deprecated/retro code with better one.
2. Provide unit tests.
3. Provide information about code style that has to be followed. PSR-2 is enough one.

Every major version (v3.1, v3.2, v3.3, v3.4 ) will remove deprecated/retro code replacing it with better one.

This can be a reason, but you have many other like simplicity to use own patch and merge in your own release, change the code with a simple editor and pull request is very simple, you can do it without adding any tools in your computer, if it's only 1 or 2 files.
I think that it's possible to do a json for the full install and use composer in another repository, so the full pack can always be update directly.
And same for the core AIO.

Milbo

Quote from: willempasterkamp on May 13, 2016, 15:43:24 PM
To answer your question (the thread topic): yes, they would.
I speak for myself: I was going trough some virtuemart PHP code this week and noticed a couple of minor spelling errors, and thought let's create a patch.... and ultimately ended up here:

http://dev.virtuemart.net/projects/virtuemart/wiki/Setting_up_a_Development_Environment

And there is no bug tracker.

So this seems just too much for some spelling errors, barriers need to be lower. And Github specifically takes care of this (issue tracking, merging, forking etc.).

You can send the patch here, and write a pn to me. If your patch is nice, you get my skype, when you delivered 3-5 times a nice patch you get direct access. Take a look on the size of our installers, and you will notice that vm3 is a lot smaller than vm2. Code is mainly a matter of quality, not quantity. Adobe for example has a development team of 50 people and say that more people wont enhance the quality. Similar here. There are only 3 people (beside me) who committ code, which has not obvious errors. I have to fix almost any patch. It is very often so, that people send me a patch, tell me that they worked an hour on it and I fix this patch 2 hours. of course happy for the ideas in it, these patches are important ... Svn is almost the same as git. So when you have committ rights, it is the almost the same handling. You can even create patches for SVN with GIT. You can also use the svn with your GIT. So actually, you can use GIT with VM. The pull request is done manually at begin, thats all!

The barrier is not svn or git. The barrier is that VM works with a code guard, me. At begin the svn was almost open for anyone. We had a lot of teams and that leads to the problem that people become lazy in groups. Actually nothing happened. We had exactly this problem https://en.wikipedia.org/wiki/Social_loafing Please read it, really! It is very, very important to understand it. Our code enhances all the time, check the svn. For example we left joomla actually far behind us. That may sound arrogant, but we have here and there another ideology than them. And so from our view point we are ahead, but you may understand better, when you see VM for WP. For example from our view point, unit tests are useless for php. There are more and more people seeing it the same (also in the joomla groups). The problem in php code is that there no units like in a desktop programm, which got designed by software engineers. I start with Java applications for desktop. I know what I am talking about and unit tests are not the right concept for php scripts. We do instead "acceptance tests" https://en.wikipedia.org/wiki/Acceptance_testing . We do it automated with Selenium and by test users (check the download numbers for the vm3.0.18.x versions! http://dev.virtuemart.net/projects/virtuemart/files

The bug tracker is the forum. I wrote often the reasons for it, I think there is even a FAQ about. The main problem are the users. A tracker is a nice tool, when you have developers as users, which fill the tracker with qualified tickets. But when you have people like here, which start with virtuemart as their first webpage, you need a lot people cleaning the tracker, all the time. We have a tracker, we can reactivate it. But we need moderators and there is the problem. The moderators must be highskilled and all the time in contact with the developers, or read almost any ticket. This is very time consuming. The next problem is that people start to write in the forum, then they would need another login for the tracker and a "redirect post". There is no tracker for smf. It would mean to migrate a more than 10 year old forum. I know you say "if you would use a tracker from begin on, people wouldnt use the forum", but that is not true, because most people look for a simple informel contact and wont use a tracker. So from my viewpoint, a tracker makes a lot more work and we wont gain a lot by it.


Quote from: willempasterkamp on May 13, 2016, 15:43:24 PM
Yes, I can create a patch with patch(1) or diff(1) and email/post them but that is not how you want to do things anymore (this is not the 90s).

This barrier is on purpose. Check the post of jenkinhill he explains it very nice from the viewpoint of a webagency. Or just take the security leak in joomla in october 2016. Please read here http://www.fionacoulter.com/blog/improving-quality-control/
it was introduced by a guy who committed only ONE time. This is very suspicious, please read the article of Fiona. This cannot happen in vm! Two reasons. First this guy would not be able to just do a request and some people take a look and say, okey, lets use it. Of course Joomla has also kind of code guards, but they work different. They just look on the tracker, the arguments in the ticket and thats it, mainly. In my case I would take a close look, notice that the whole form isnt used and write a post, "lets remove this deprecated controller!". Second the guy had to contact me, personal. That means he had to hack me. Real shop owners are not interested in the last fancy stuff. They want reliable secure software. Btw joomla is a good example why it is not good to use GIT. From my point of view and I worked a lot with j3 code latly (for wp), j3 has a lower code quality. I think 30% of the code is unused garbage. Legacy, deprecated stuff. The reason is that there is no dirigent and they just do what they want to.

When you really want to enhance VirtueMart, you will notice, yes, there is a door, there is a guard. Yes, but when you are inside, all doors are open. We can be more open, because we have a guard. Do you get the idea?

Quote from: willempasterkamp on May 13, 2016, 15:43:24 PM
But apart from my opinion (which you may disagree with) when even old tools like emacs move to git (https://www.masteringemacs.org/article/emacss-switch-to-git) or when Bitkeeper (a source code version control system: previously used to host the kernel and the direct reason for the development of git) creates a presence on github itself (!!) https://github.com/bitkeeper-scm/bitkeeper) it should be very clear where you project should be to attract developers.
We had a git and the user who opened it, closed it. He finished his examen and then stopped it. I said to him, yeah, of course, open a Git. We could reorganise the whole thing, some people use GIT and send the final patch to me. But actually, I never got any patch by the GITlers.

Quote from: willempasterkamp on May 13, 2016, 15:43:24 PM
And that last part is the real question. It is not about svn vs. git. It is about, does Virtuemart want/need new/more developers to push development forward or does the Virtuemart core team think this is not needed (also entirely possible). But if the answer to the former question is yes, than git (and specifically github) is where you need to be. Go to where the developers are.

Of course we would like to have more developers, but we need skilled developers. The joomla leak of october is a perfect example, what a wrong "fix" can do. Some weeks ago, I had a customer who had trouble with the new getMyOrder function. He wrote a "fix" in 1 hour. I worked on this function some days (over the years). And the function got changed, maybe 20 times. Even when my programming skills are 5 times worse than his skills it is very unlikely that he fixed it. It is a lot more likely that he just stumbled over a security issue of his plugin and disabled the blocking security lines. Of course, it works for him, yes. and it is also almost "secure" due obscurity (no one knows about), but very, very dangerous to use fixes like that for the core.

I had it really endless times, that small simple patches created bugs later, even they got checked by me and tested by webagencies and endusers. We do the release and someone has suddenly a bug and you check the code and notice, "yes it is a bug and not a misused feature". But joomla guys wouldnt fix this Bug, because they would say "was not promised". I just see a user who got used to a unintended feature and we destroyed it by another feature (in this example it was a simple feature, some people used the payment fee as skonto, with a minus value. But someone added the "feature" that the payment fee cannot be below zero (as fallback) and destroyed the other feature). Or just the new category ajax feature. The guy wrote some hours on it.... it worked for him, I added it, worked for me,.. .and 1-2 weeks later it created days of additional work.

and just today, more than a month later, a team member reported again problem with category ajax. The idea to solve it is simple, but it takes at least 30 minutes to write it. It is only important for people who moved the asset folder and to an update, OMG. lol. Or the added feature for legacy layouts,... today was again an idea which creates work for 30 minutes. :-) you cannot imagine.

And one additional thing. A lot people just post some lines, which should be changed and I do that without any discussion. So a lot people got their fixes into the core without even knowing GIT. In joomla for example it is the opposite. When you post a perfect fix in the forum, it wont get part of the code. Someone must do a pull request according to the rules. So on the other hand, we are a lot more flexible than other projects using GIT.

To summarize:
- We use the codeguard princip by decision and experience
- When we trust you, VM is open as GIT.
- We also implement patches, which do not fullfill the formal standards.
- We even fix not qualified fixes, when the community member has not the skill, else we ask for a bit more effort. :-)
- https://people.redhat.com/rjones/how-to-supply-code-to-open-source-projects/

So when you really mean it serious, nothing will stop you.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Milbo

Quote from: Todor Iliev on December 17, 2016, 16:23:33 PM
Even I post a patch to the forum, I am not sure it will be merged because it could be forgotten.
The pull request on GitHub are much more useful.

You are a programmer, or? So now tell me, why I should not forget the pull request? Where is the difference? It is very rare that we forget a patch. And sometimes we forget a bad patch intentionally. Usually a patch is integrated witihin some days/weeks. If it got not integrated, write a pn. and there IS  NO difference in GIT.

As long it is not automatic, someone must "answer" the "request". Re- quest => quest comes from question. So if you do your pull request per GIT programm, or per forum progamm, is almost unimportant. Request is request, even by phone and I have to answer it. And we wont change that system and the reason is that hacks like in joomla are not possible that way. and yes, we like to develop a bit slower, but more secure.

https://en.wikipedia.org/wiki/Kaizen
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Milbo

Quote from: Todor Iliev on December 17, 2016, 17:26:15 PM
It could be "Release team" just like for Joomla! CMS?

......

Every major version (v3.1, v3.2, v3.3, v3.4 ) will remove deprecated/retro code replacing it with better one.

You sound like me, when I started with VM 7 years ago. All of this is grey theory. and when I tried to explain the social loafing effect, most people just did not believe me. But now, it is common knowledge https://en.wikipedia.org/wiki/Social_loafing and I was exactly right. A small team of 10 people really working together can be more effective than 200 programmers in Groups. These numbers are from a biig, biig company which spend a lot money to checks this.

A good construction worker is maybe 4 times better than a bad construction worker. The factor is 4. The factor in programming is around 20. So a good programmer is 20 times faster and better than a bad programmer. And this are the "normal" numbers, not even the extraordinary numbers. One time, I wrote something in 4 hours and it worked and was clean written. Another 2 programmers worked on that already a week. they did not solve it and the code was horrible. So just talking with these other programmers would already slow down my speed.

and the more people work together, the bigger the overhead. Endless discussions for nothing.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Milbo

Quote from: Todor Iliev on December 17, 2016, 16:23:33 PM
I was big fen of VirtueMart. I would like to contribute, improving the code and usability.
However, the way that I have to send patches strongly discourage me.

There you see it. Sorry, but when you work with Virtuemart, when you want to make your living with it, you would not care. If you think about, then you may notice how silly it is. When you are a shopowner and you earn $ 5k with your store each month, and you can fix something in the core and earn $ 6k a month, do you really think a serious person would say "I have to send the patch per skype? shit guys, no, then I dont want to earn $ 1000 additionally".

So, when you do think that way, we cannot take you serious. We all live from the software, this is not a game. A serious person would just say "It is not important how the patch comes in it, as long it comes and I earn my money".

So when such a small little barrier discourage you already, we have no use. Really. You are one of this programmers, which creates a small fix in 30 minutes, which creates hours of work later and you would be gone and away. Most of these programmers do not even notice that, because they left the project already. So they think that they are very great programmers, but in fact they are kids. We had that in vm2 times, you may reread the answer of jenkinhill.

So and now think again: "would you really dispense $50 per month, just becaues you must send the patch per email, instead of git"?  See, even for $50 you would send a patch by email, even it takes 5 minutes.

And when the patch is not even worth to take a bit more care, we are not interested. I mean, come on, how silly is that. You write for example 4 hours a patch, but you are too lazy to send it here? Not really, eh. and so I cannot take that serious.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

thelordofweb

Now I see why you lose contributors and fans so fast.
All this is really repulsive.

GJC Web Design

@Todor Iliev

QuoteAll this is really repulsive.

Strange reaction....
I think Max has done a good explanation of his attitude to what after all is more or less his project.. .. the gate keeper principle...

Can u give some examples of changes/ideas etc that u would want to do differently in VM?
As a long time user and VM shop builder there is rarely a situation where i think .. damn.. there is just no way to do this
In the majority of cases I can either do a plugin or core hack and suggest on here if this is core worthy..

If you have thoughts and ideas why not contribute? 

You can always fork the project if you consider your needs aren't being met... but u don't state what your needs are?

The desire to contribute patches when ever you see fit? Patches for what?
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

AH

@Todor Iliev

You have entered the forum and suggested that everything is wrong and how you would sort it all out.

QuoteVirtueMart is anchored in the past and dying because it moves forward too slow.

I trust you see that such an approach might appear to others, that have been around the project for some time, as being somewhat inflammatory.

You decide that you need GIT and start to complain about VM development approach, without giving any suggestions of difficulties you are aiming to overcome, or what you hope to be able to contribute. 

What then is your first suggestion? But to state this:-

QuoteStart VirtueMart v3.1 replacing deprecated/retro code with better one.

Max is not saying that you could not provide support for this, just that you have to use a different method than GIT and yes your suggestions might get rejected.

QuoteNow I see why you lose contributors and fans so fast.

You have (as far as I am aware) contributed nothing, so it may or may not be a loss - it is difficult to judge.

Regards
A

Joomla 3.10.11
php 8.0