A Simple Change to Increase Donations to Elgg Project

This article will not address Elgg GPL licensing or premium plugin on Elgg community as a source of money for developer! If Elgg Community can learn from WordPress plugin / theme trolls (people who take other people’s GPL plugins / themes and re-sell them at the lowest price possible) have become epidemic — But this is another story and shall be told another time.

Several developers who are donating their free time all over the world like coding because they want to make a world a better place for mankind by using software tools to solve complex problems. On the other hand several internet users hunt for open source or free downloads software on internet.

Elgg community users and developers have discussed this issue in details of Elgg community not allowing developers to offer free and premium plugins on Elgg community site.

To make developers comfortable, happy, motivated, and compensated for their free time donation towards their free work, most free software sites raise money from their community members by asking for donations. For example, Elgg Community has had for years itty-bitty tiny link button on the right side of the download page called “Donation” button to ask for financial support for plugin developers.

As Elgg 3.0 and its Plugins will soon starting rolling out, Elgg community and its developers have to look for ways to increase the number of users who will make donations. Elgg has had success in the past with highest numbers of downloads on most popular plugins but both Elgg Foundation and Plugin developers have had very few downloading users making donations.

For the survival of Elgg Foundation and its future developers, Elgg has to change how to ask its community users to make donations.

The most basic first change will be to use an appealing graphic page to request Elgg users to make donations. Second, will be to change the donation button location. For example, Elgg should show users a donation page not before but right after the user starts downloading an Elgg project or plugins. This simple change should give those users who want to donate to make a decision while waiting for download to complete.

These few changes will increase number of Elgg users making donations for Elgg 3.0 Core Developers and Plugins Developers every month.

  • "(people who take other people’s GPL plugins / themes and re-sell them at the lowest price possible)"

    This applies to PHP itself. Rasmus who started it hardly has any money compared to the dirty monopolistic Zuckerberg or for that matter compared to many other persons who thrive on PHP. Even if every site just contributed $1 per season to Rasmus ... ? Same about Email protocol inventor, the world does not even remember him, whether he lives or dies, it was such an excellent open thing compared to Whatsapp (now gobbled up by FB)

    Overall the usage and adoption of php scripts has died as the super giant monopoly FB goes unabated, no antitrust motion against them, nothing and the world population like a slave follow Fb. The like of youngsters who created Elgg, Drupa, Wordpress will NO longer be seen, in the past 10 years no one has created scripts like Elgg, Wordpress, Drupal. In fact many wonderful scripts have died, and the most young of the younger generation have no idea of these, or true internet in an app based world (why apps, why to go to Google or Apple to download apps instead of the open internet?) and many companies have Fb-only web address - shocking.

    In this scenario, participation in Elgg has dwindled. There are at least 3 to 4 popular social scripts available which on appearance looks better, they have modern status box (compared to Elgg) for example a few on Evanto priced at around $25 to $50, Humhub which has both free and enterprise edition, and Peepso (Wordpress based) which is around $200 - only paid model but doing "good business". (also EasySocial based on Joomla). But still overall usage of such social scripts has reduced drastically as we, the slave population, spend more and more time in Fb and Instagram etc. I wish the true internet returned (Hubzilla, Diaspora etc) but its not happening.

    The excellent persons and coders/contributors enlisted in https://elgg.org/about/team - only a few or may be just two or three are still available for the community. In fact most of them are lost without any trace. I miss them very much and probably they have to work out the economy part of their personal lives. In such scenario what is to be done ?

    Another thing to consider is  few drastic showstoppers for Elgg 3 (some or probably fixed in core or by Iionly, example lack of useful side bar with rss, bookmark links, too wide activity page etc) and lack of updates of many plugins. And old Elgg sites dying due to unavailability of php 5 older versions in webhosting sites on the issues of "security". Many php5 based scripts are just dying because of this baseless (according to me) fear on security. These sites were typically niche sites or hobby sites or sites with limited users BUT offered much traction to any project as the creators of these sites regularly contributed/participated in community discussions and kept looking the source-script-site busy and full, if you understand what I mean. If Elgg offered (on its own or based on any big hosting company internally) php 5 all versions hosting, many Elgg (as well as old Drupl, Wp etc) sites could get revived and it can be a revenue earner.

    "Elgg should show users a donation page not before but right after the user starts downloading an Elgg project or plugins. This simple change should give those users who want to donate to make a decision while waiting for download"

    I agree and at the same time I think we will not get substantial numbers of persons or enough money in light of all the above. My 2 cents posted in somewhat hurry and my regards to all.

  • For the survival of Elgg 

    This is the key. Elgg is falling behind. We have projects using twig, blade, yaml and elgg is still having PHP mixed with HTML, which is not a good practice. Elgg is still using Require.js which is a waste of time. Not only that, themes and plugins are not longer working in elgg 3.x I know I am saying that elgg is falling behind, but look at the plugin list. There are some plugins that are only iframes, and there are several themes that are a copy of a copy of a copy. 

    About funding, the only successful network made with elgg (like it or not) is Minds.com

    https://elgg.org/showcase/view/1900754/minds

    They might be donating to elgg, or not. We don't know that and frankly we don't need to know that. Elgg needs to find some source of funding. Patreon? Online courses/seminars? 

    I mean, what is stopping elgg from creating an elgg site with paid courses (video and tutorials). 

    Elgg is a powerful framework. I think elgg should shift its main purpose. Instead of a social networking engine, promote it as a "Socialyl-Aware Framework for building high performance web applications". Heck, I've made a multimedia publishing platform with elgg in less than a week. How long would it take me to do something like that with say WordPress or even ClipBucket? (I tried, and it was awful) 

    Hard times are coming, with new web technologies arising (which elgg is not taking advantage of) and the lack of elgg developers, I really don't know what will happen to elgg.

  • @rjcalifornia ,  You are 100 percent right. you are  raised important points to be considered. Elgg has a great potential to grow or power most of the online application. The only thing that is lacking is the a little spark... to ignite the imagination and will of the young and talented developers and designers.

     

  • only a few or may be just two or three are still available for the community. In fact most of them are lost without any trace. 

    young and talented developers and designers.

    I believe that this is because there's no proper documentation of elgg. Not even easy-to-follow tutorials for doing the most basic stuff.

    May be someone will drop by and say we are only talking but not helping. Hear me out. There's no proper documentation on how to get a simple list of items. I'm gonna show you something:

    I needed to show on the homepage the latest albums uploaded with TidyPics. Yeah I know someone will say "well that's up to the plugin, not elgg", just hear me out. I searched everywhere for how to do that, and I ended up digging the tidypics code, and customize a function. Here's the function:

    function _get_latest_albums($num_albums, array $container_guids = null, $context = 'front') {
    	$prev_context = elgg_get_context();
    	elgg_set_context($context);
    	$image_html = elgg_list_entities([
    		'type' => 'object',
    		'subtype' => TidypicsAlbum::SUBTYPE,
    		'container_guids' => $container_guids,
    		'limit' => $num_albums,
    		'full_view' => false,
    		'pagination' => false,
                    'class' => 'w-full py-4 px-2  h-auto inline-flex items-center',
    	]);
    	elgg_set_context($prev_context);
    	return $image_html;
    }
    
    echo _get_latest_albums(4);
    

    Let's break it down:

    elgg_list_entities

    There's some documentation here:

    http://learn.elgg.org/en/stable/guides/views.html

    But is it easy to follow? Is it good? Not really. Compared to other frameworks, that doesn't explains how to get each item individually, you know for customization purposes. Even worst, it doesn't explains that you can add classes to the list (for style/design):

                    'class' => 'w-full py-4 px-2  h-auto inline-flex items-center',

    The code above is for TailWind CSS. Do you know how hard is to integrate elgg with TailWind CSS/Vue? 

        
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>    
    <link rel="stylesheet" href="<?php echo $site_url >extras/vendors/css/app.css">
    
    

    Thanks to the lovely RequireJS I had to "add" Tailwind CSS that way. We have a powerful framework for making beautiful designs that's hard to integrate because the RequireJS documentation is extremely bad. 

    Take a look at the Symfony docs. Take a look at the Laravel docs. Very easy to use. I still don't understand why elgg is not using an ORM like doctrine.