Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/drupal-7.x/includes/common.inc).
Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /var/www/drupal-7.x/includes/menu.inc).
Published by Matthew Davidson on Thu, 30/03/2017 - 6:21pm
@strypey Actually, the personal lesson learned, after ~10 years, is don't start a business if you aren't competent to run a business. Libre/gratis didn't enter into the multiple points of failure.
Published by Matthew Davidson on Thu, 30/03/2017 - 6:10pm
@strypey If you're smarter and more dedicated than me and maintain a significant free software project, odds are there are people who desperately want a new feature. Fine: libre for all, gratis for all but that first customer.
Published by Matthew Davidson on Thu, 30/03/2017 - 6:07pm
@strypey Most software written is custom (or customised) software for a single customer. En passant, bug fixes & new features for dependencies get sent upstream gratis because why not? The "programmers will starve!" argument is for trivial edge cases like #Microsoft.
Published by Matthew Davidson on Thu, 30/03/2017 - 5:27pm
@tregeagle Billy Bragg is continuing down the coast and playing in Melbourne — the week before I'm due to be there for my brother-in-law's wedding. So close!
Technical education has hitherto been too complex to meet the needs of learners. Universities, schools and colleges should collaborate more actively to give students greater flexibility and support as they prepare for their careers.
Published by Matthew Davidson on Thu, 30/03/2017 - 5:22pm
@strypey #FreeSoftware is not _necessarily_ free of charge, but in practice there's the Internet. I've written lots of free software for people and charged them for it. Not enough, which is why I don't do it any more.