Clearer description of the Board responsibilities

I’ve seen strategic leadership mentioned a few times. Strategic leadership requires strategies. Strategies are best when coherent. Coherence happens when strategies don’t involve serious conflict over the resources required for their execution.

The main strategic goal seems to be: make sure Haskell at least survives, and ideally, thrives. The main strategic theme, so far, seems to be this: make Haskell more approachable. As a newbie, one who is, as usual, having a lot of trouble gaining traction on the learning curve, I’m happy to see agreement there.

Recently, I asked whether there was a marketing strategy (besides making Haskell more approachable, which amounts to “build a little better, and maybe a few more will come.”) I didn’t really get a “yes” to that. I got directed to a marketing task group (though with no link.) That was disappointing.

Now I’m going to ask you to believe several incredible things:

  • every nonprofit has to make a profit in some form (not very monetary in the case of NPOs); in that sense, it’s a business. The “profit” is in how it makes “customers” (users and contributors) feel, and in how satisfied the donors are about how the situation is improving.

  • there is no such thing as “the profit motive”, except for passive investors. In any competitive market, profit is actually a cost. It’s a way to signal to stakeholders that your enterprise is robust enough to simply distribute some surplus resources. This builds confidence for those times when you run at a loss. For a “nonprofit”, it’s the good will built up among users of the services provided, the volunteers, the paid employees, and the donors. For an organization like the Haskell Foundation, “losses” might be in for form of losses of reputation, like another language suddenly gaining on it, or some corporate embarrassment attributed to Haskell but not really Haskell’s fault, or simply some witty critic writing a viral piece about how Haskell sucks.

  • as a business, a nonprofit is like any business, in that it’s essentially about marketing. If you can pay for services, you can potentially outsource everything else (even if it’s often not optimal, but this would take me into various theories about the economics of the firm, not very relevant here.) Marketing is the core.

Insane? I got these insights from Peter Drucker (most especially his book about managing nonprofits.) So, go argue with him. (Well, he’s dead, but you know what I mean.) The one exception is “marketing IS the business.” That’s from Robert Townsend’s Up the Organization, where he said to fire the entire marketing department. Understanding the market strategically is for the CEO and the entire C-suite. If they don’t understand the market, the organization is going to die, sooner or later.

Making Haskell more newbie-friendly is, in effect, price-based marketing. That’s good as far as it goes, because, right now, Haskell costs newbies a lot. Sure, you can download everything for free. But as a newbie, the cost you pay is in your time, effort and stress.

Price-based marketing is a very simple and obvious strategy, but execution incurs costs: sophisticated, experienced developers who are deep into the community mindset need to be motivated by the concerns of newbies, to provide the needed cost reductions in the product. That’s not always easy. So you’ll probably need more.

Marketing as a strategic discipline is very much about identifying emerging opportunities.’ These may exist because the competition is slackening in some niche, thus becoming more vulnerable. Opportunities can also emerge because of demographic changes, regulatory changes, new technologies, or dramatic improvements in existing technologies. Sometimes, more nuanced analysis of existing markets reveals that a market is under-exploited – there’s a sub-category that’s still not well served.

Inevitably, these windows of opportunity close. Strategic direction in marketing is therefore a constant process of monitoring the competitive environment and evaluating odds. Which windows look likely to open soon, based on existing trends? Which are open but not being rushed yet? Which could close soon, and are they worth trying for, at this late date? Of the choices generated, which one or two (ideally one) should get primary focus?

In the note where I asked “where is your marketing strategy?” I pointed out that branching out further into academia, where numerics are important but not (at least for initial research initiatives) overwhelming in their computational demands, Haskell might find some openings. Haskell is somewhat stereotyped as an academic language, but a focus on science and technology outside computer science, but still in academia, means geographic proximity. That is seldom a bad thing where face-to-face outreach can be effective. Haskell does decently well on floating-point benchmarks, especially compared to Python, which has become huge in “data science” (whatever that is! didn’t they used to call it “statistics”?) Some sciences are rather algebraic, and that’s another conceptual entry point.

I didn’t bring up this hypothetical strategic theme out of self-interest. My current evaluation of Haskell is in lexical semantics, where my goal may not involve a single floating point computation for my intended user base. And if lexical semantics was significantly algebraic, Chomsky would have swept the field, instead of throwing in the towel. I only gave it as an example of how to think about strategy.

To sum up:

You’re in business, whether you think of it that way or not.

You need to make a profit, whether you think of it that way or not.

Job #1 is marketing, whether you hate it or not,

And marketing on price, like it or not, means you’re starting from way behind other languages. Haskell is hard to learn. The error messages I’m wrestling with daily are practically screaming at me, “DON’T BUY HASKELL, IT’S AWFUL.” I keep going only because of one piece of code, written long ago, that makes me think I see something that very few have seen, and none have fully exploited.

So, you’ll have to become more strategic marketers. I’m sure you have the intellectual depth for it. After all, Haskell beat one of the most strategic retreats ever: “Avoid success at all costs.” The meaning was: “Don’t get trapped in de facto standardization long before optimality is in sight.” The result looks like a great product, just with a confusing user manual and some almost-opaque failure modes. Still, “avoid success at all costs” was very smart for its time, because few things sell better than quality, and most of Haskell’s current quality issues are ultimately superficial and fixable. Now, it’s time for the 180-degree turn. And that means getting very strategic about marketing, in a completely different way.

2 Likes

The management and marketing approaches that work well for a centrally-governed organisation are not easily applied in a highly diverse and distributed community with a multitude of values and ambitions. When you are pattern-matching some existing management and marketing solutions to a new problem, it is useful to carefully consider how well the pattern fits and especially where is does not fit. What sub-organizations do have the ability to execute what strategies, and how well? How would the large body of the community even react to a given strategy, infuencing resources and costs?

Adapting this to the (ill-fitting) market-speak, I’d say that before trying to strategize like that, it is vitally important to know your customer and know what the different layers of community would see or feel as “profit”, and that buying up the necessary shares requires patient long-term spending in communication effort and contribution initiative.

When you are “in business” and “need to make a profit” and therefore have to do “marketing”, it usually means obeying the market or losing, and only in exceptional cases can you just manipulate the market.

I imagine the “strategic leadership” is just helping the other members more efficiently organize themselves around the other bullet points (i.e. community-building with resource management)

2 Likes

I think you misunderstand the purpose of the haskell foundation. It is not seeking a “profit” in the sense of a return on investment over and above the amount expended, nor would expanding the raw quantity of Haskell users yield it any greater income directly. Haskell the language well predates the foundation, and, no disrespect to the foundation, will likely survive it (if only because the foundation is supplanted by another body better suited to its role as time progresses and things develop).

The most direct path to success for the haskell foundation is doing things that will please its donors and encourage more donors – and the pool of those is not new Haskell users, but rather the vast panoply of serious and established companies for whom Haskell is already a productive language that has established a strong value proposition, but who wish to help improve its ecosystem (including education surrounding it) still further and as directly as possible.

1 Like

I don’t believe I ever once thought that while reading the post.


One of the simplest take-aways I had was that yes, the HF and board needs to make a profit, and if they are not concerned about that, what else will retain or grow that awesome funding year after year? More importantly, we have to ensure those who have invested in the HF believe there is value in them continuing to do so. While contract-engineering shops based on Haskell will surely continue to do so (well, probably/mostly, but not in all cases), it’s significantly harder to retain investors who will more easily gravitate towards tools that meet their needs, and if a better tool eclipses Haskell in that regard for their business, so be it.

If this effort is to have impact, it must survive, and to survive, it must be successful in that regard (profit). I completely agree with @Yakushima on that.

Great post @Yakushima, thank you for investing your time and effort to share your thoughts with us all!

1 Like

Strategically, marketing is about new opportunities. If you keep it within the community, that’s keeping the efforts within people who are already sold. “Creating a customer” (one useful definition) is not the same as “customer support.”

1 Like

I think you didn’t read what I wrote. Here’s the relevant part again:

“every nonprofit has to make a profit in some form (not very monetary in the case of NPOs); in that sense, it’s a business. The “profit” is in how it makes “customers” (users and contributors) feel, and in how satisfied the donors are about how the situation is improving.”

Try reading the whole thing and understanding it, before asserting that I don’t understand something. I’m sure there are things about the Foundation effort that I don’t understand. On the other hand, I’ve been in business for two decades, I worked for a number of businesses before that, but I also I have my own not-for-profit effort going on the side. I’m pretty clear on the differences and similarities.

Going with your misreading of my sense of “profit” here anyway:

“The most direct path to success for the haskell foundation is doing things that will please its donors and encourage more donors.”

Well, in that case, I note that there’s a significant fraction of commercial Haskell that’s in cryptocurrency work, and that some cryptocurrencies raise millions, even billions, on their ICOs, so, if it was all about the money, you could define “success” for the Foundation as “winning big with Haskell-enabled insider trading of cryptocoins.”

But if that’s what it all comes down to, count me out. As it is, I don’t think that’s what’s going on here.

I think, theoretically, the Foundation could work out well without getting any money or spending any money (except perhaps to offset web-hosting fees, though in-kind donations of hosting are also possible.) In practice, getting some money and spending it wisely is just more practical. Some things just go faster that way. But if the Foundation couldn’t at least theoretically succeed without money, it’s not likely to succeed anyway.

So what is the “product” of a non-profit, if viewed as a business that makes this kind of “profit”?

Peter Drucker (significantly the inspiration for what I write here) said that the “product” of a non-profit is a changed human being.

Who pays for that “product”? Donors help viable non-profits with money (and other things) because creating positive change in other people, and being recognized for it, feels good. Volunteers as “payers” of time are similarly motivated – it’s just that they may have more time than money. And presumably the changed human being also feels better having “paid” by making a personal effort to engage with the organization. Persistent, consistent delivery of positive change in human beings is the “profit” that makes all other resources possible for the non-profit.

If I had to write a mission statement for the Foundation, it would be this:

The Haskell Foundation aims to use the best functional programming language in existence to help programmers get better at what they do, and to help organizations use those programmers to the benefit of their stakeholders and, where possible, the world.

Note that this mission statement works even if it turns out that Haskell can’t be the best functional programming language anymore. It can still be the Haskell Foundation. After all, who was Haskell Curry? From a biography:

“Everybody who knew the Currys was aware of how friendly and helpful they always were. Curry always did more for colleagues and students than be a source of important ideas (although, of course, his ideas have been of tremendous importance). He was always willing to listen to anybody who wanted to talk to him, to discuss their ideas, and to give whatever encouragement he could. His office door was always open. Also well known wherever the Currys lived was the hospitality they both showed. There were always many parties and other, less formal, gatherings. Curry also had a playful sense of humor.”

The foundation of the Foundation should be in the spirit of a man who was apparently always ready to help, who was always ready to follow wherever he couldn’t lead, and who apparently didn’t take himself too seriously.

1 Like

“When you are “in business” and “need to make a profit” and therefore have to do “marketing”, it usually means obeying the market or losing, and only in exceptional cases can you just manipulate the market.”

Since would-be adopters of Haskell must pay with their time, effort, and stress, there is in effect a market to be “obeyed” here, since people have other choices of languages. If the perceived cost is too high, either the perception must improve, the cost must be reduced, or both. Since marketing strategy is about taking advantage of new opportunities before they disappear (in Haskell’s case – get gobbled up by other languages), this means getting out ahead of damaging high-cost perceptions before they can form while actually reducing costs. And that means strategy needs to be oriented around where Haskell can move next, from its existing niches.

“I imagine the “strategic leadership” is just helping the other members more efficiently organize themselves around the other bullet points (i.e. community-building with resource management)”

No, that’s management. Leadership and management are not the same. One must first establish that a new opportunity exists and can be effectively pursued. That means going out and asking questions to understand what people beyond your current “customer base” (= “community”) want and whether you can deliver it to their satisfaction. Having confirmed an opportunity, one must then convey the confidence gained in the intellectual exercise to those who could help execute the strategy. It’s leadership in exploration, first, then in rallying potential participants to yield resources they might otherwise use in other ways. The goal isn’t management. It’s creating something to manage.

To be clear, the HF has a mission statement on its homepage (https://haskell.foundation/), and I think it is quite nice and to the point about the purpose of the organization. It also avoids the use of the word “stakeholders”.

“An independent, non-profit organization dedicated to broadening the adoption of Haskell, by supporting its ecosystem of tools, libraries, education, and research.”

There are also some nice principles laid out under “ethos”.

1 Like

“It also avoids the use of the word “stakeholders”.”

But it does use the word “ecosystem” – shame on us both :slight_smile:

Does supporting this (eco)system actually broaden the adoption of Haskell, in the face of other languages which may already have more of a competitive advantage in the four categories? Or does it just mean that Haskell loses mindshare and market share at a lower rate than if there was no such Foundation?

Likewise for Principles and Ethos. Lots of open source efforts at least claim to have such a character. Some actually do, but die anyway. Why? Lack of technical merit compared to others may be a big factor, but without scanning for emerging opportunities, evaluating them, and pursuing them, someone else will.

To take the ecosystem metaphor at face value: ecosystems consist of living things, and feature both competition and cooperation internally. Except where ecosystems have islands to themselves, the species within them must feature some tendency toward expansion or else they will be overrun by invasive species, sooner or later. Australia, meet the rabbit. In Australia’s case, the invasive species happened to be brought in by another invasive species, homo sapiens, but one that was at least armed with firearms and traps. Home sapiens was in the ecosystem but not of it – it was able to reason strategically about ecosystems rather than just operate instinctively within them. Without that, Australia would be far more of a desert than it is today.

I went with “stakeholders” with a shrug – the Foundation gets support from some commercial entities, so I guessed that the business buzzwords that those sponsors might themselves use would do. But “ecoystem”, well – for all we know, dodo birds were more intelligent than the human beings who hunted them to extinction. If so, they were still flightless, and not able to wrest a gun from a hunter and turn it on the hunters. I don’t know whether aiming for “success, but not at all costs”, by adhering to purely functional principles, means Haskell is ultimately flightless. But if it does, strategic marketing might at a least be a source of CRISPR-applied genes to acquire ostrich legs and thus run faster toward opportunities, and kick harder against competition – and maybe even strike fear in the hearts of opportunistic hunters.

I’ll drop “stakeholders” if the mission statement takes out “ecosystem” and substitutes “coherently directed organization.” :wink:

It may seem cowardly of me, but I should probably leave this discussion. I may already seem too much of a politicizing interloper. But really, I have to get back to learning, coding and . . . strategic marketing.

My own market – not just lexical semantics but a relatively small niche within it – is not something I can recommend as an important strategic direction for the Foundation. If what I write results in a user base of 30, I’ll call it success. If it gets to 60, a roaring success. The Foundation should be aimed at adding tens of thousands of new Haskellers in the coming decade. I only hope that I can add perhaps three, enough to help support what I write after I’m gone. At 65, I need to think in such terms. That three could be a stretch considering that my target market – linguistics students who have hardly mastered even one conventional programming language – isn’t a very likely one.

My strategy for appeal is two-pronged:

Success in academia for the few. Haskell could be a powerful tool for lexical semanticists to help produce publishable results in high-impact journals.

A hope of reasonable gainful employment for the many After all, even successfully working through the tutorial I’m drafting could be quite the peacock feather in the cap of a graduating linguistics student who is forced onto the not-so-tender mercies of the industrial job market.

Comments appreciated. Especially corrections, since I hardly know what I’m talking about, when it comes to the specifics of Haskell.

Sorry for the linguistics jargon, but to curry favor with a potential market, you have to learn something of its language.

Also sorry for all the irreverence. But these people will never be as worshipful of programming languages as us hackers, so I have to ditch the self-seriousness from the start.

2 Likes

I smiled and nodded my head in approval at the same. I suspect the latter will happen by having a giant corporation pick it up and shove it in the mouth of its employees than by broadening userbase “organically” outside.

I am reading «Haskell in Plain English» (at page three now).

Thank you for clarifying, and apologies if my comment felt antagonistic - I was merely confused.

I fully agree that the would-be adopters of Haskell must pay more of their time and effort. I’ve had no chance to pick up Haskell as a student despite wanting to, and I went with Common Lisp instead, only returning to the pure (and lazy) light years later. Compared to other languages, I still see it as acquiring a rare luxury item, not a common, ubiquitous tool.

Because it would take a lot of work to actually reduce the cost of language acquisition, and the time to get there is hard to estimate even in years, in my own Haskell proselytizing I’ve been putting emphasis on all the value you get for your significant effort :slight_smile:

As for the “leadership and management are not the same”, I’ve been thinking in terms of small teams with very constrained resources and overlapping roles, closer to a founders’ “management”. Rather than what I actually wrote, what I’ve meant was either leading the exploration or advising the leaders on how and where to explore (though I struggle to disentangle leading from managing in a goal-oriented strategic activity).

The “Haskell in Plain English” is great at reminding those of us with déformation professionnelle about what the newcomers might struggle with!

1 Like

Well, for what I’m trying to do, “the many” would be maybe a dozen or so people. Even so, I’m leery of forcing the choice on them, so I try to see how to sell Haskell in a way that doesn’t result in buyer’s remorse. The worst thing that could happen to Haskell is to become something that’s shoved down anyone’s throat.

Much as I talk about marketing, I think the idea of “avoid success at all costs” is an expression of this understandable loathing for the abuses (and dysfunction) of power in a market economy. Where the Foundation goal seems to be “success, but not at all costs,” it seems to express a healthy resistance to this mentality. In programming language design and evolution, “success at any cost” so often results in the corporate “greedy algorithm” arriving at suboptimal de facto standardization in the name of pursuing opportunities. Haskell seems different. It seems to have been a social experiment in software, an attempt to create a social bubble where the imperative was just to start with a clean slate and ask: what is better programming?

The real word isn’t much like that. I often say that capitalism is just a relatively nonviolent way to have a lot of command-economy despotisms (corporations) duking it out for dominance. I’m reminded of that line given to the character in the film Margin Call, where the CEO says of the predatory move his financial firm just made that “It’s only money – pieces of paper with pictures on it, so we don’t have to kill each other just to get something to eat.” For that character (based closely enough on some real ones during the Great Financial Crisis), it’s just a big game. Even the worst disaster for him will leave him with more money than he can ever spend in the rest of his life. For the rest of us, well – if profit is the cost of staying in business, if it’s profit or perish in the market, then in academia, it’s publish or perish, which is its own way of getting something to eat without killing people. And if you don’t make it in academia, you still need to eat. So I just look for the best kind of people who I think I can help, considering the world the way it is, and the way it probably will be, for a long time to come.

Haskell Curry earned the right to a kind of utopian existence – academic tenure – where he could think about whatever he wanted. And he thought about some pretty good things. But when it came to the most un-utopian situations, his social-animal impulses still had him signing up for a war effort, and use ENIAC to compute artillery tables. I suppose at least he was part of killing people in fighting something irredeemably bad. My time in military logistics software had me working to help kill people, many of them hapless Iraqi draftees forced to the front in Iraq and Kuwait, to help reinstall a monarchy in a Gulf oil state. And it was only in the name of “the principle of national sovereignty”, though Secretary of State James Baker let slip, before that not-so-noble statement of war goals, that it was unmistakably about oil and jobs. What a world, eh?

I’m amused to see that the highest-paid language now seems to be Perl. This is probably a hangover from the feverish days of the 90s, when Perl/CGI looked like the fastest way to get “a website that does things” out there, in various bids to dominate some niche by sheer speed-to-market. Perl code is still making money, and the marginal cost (and opportunity cost) of maintaining it looks small compared to the cost of completely re-engineering around some better software technology, even though Perl is now hated enough that companies have to pay people a lot more to work with it. When greed results in force-feeding a technology to others, the results aren’t pretty. Downright ugly, actually.

All of which relates, I believe, to the responsibilities of the board of a nonprofit. If the goal of a nonprofit “a changed human being”, then specifically, in the case of Haskell, isn’t it better if the change comes because of a Haskell that sells itself? There seems to be agreement on this, at least. But also, shouldn’t it be with a Haskell that’s used to make the world better (or at least not worse), and not just to help create better soldiers in the struggles for corporate dominance?

Professionalism means a life of compromise, inevitably, but a code of professional ethics seems in order. Open source is a kind of anti-anti-utopian ethos: at the very least, don’t make the world worse. It grows out of the idea that software as a source of corporate “secret weapons” is rightly regarded as not only corrupting, it’s even bad for software!

So who do we want Haskell programmers to be, in their careers? I don’t think it has to mean “no weapons work”. After all, it’s a nasty world and credible deterrents have their place. Nor does it have to mean not taking opportunities for more profit, if you view profit as “the cost of staying in business.” By (almost) all means, take those opportunities, because capitalistic organizations can (and often do) make people’s lives better. Still, it’s better to draw some lines: this far, but no farther. When it comes to taking money, sometimes it is better to look the gift horse in the mouth. There could be some Trojan soldiers down inside.

1 Like