Skip to main content


#Friendica needs new contributors!

I'm not used to do this, but with the large influx of new users and node admins recently coming from #Twitter, our small team is now behind the curve for handling support requests, bug reports and bring about much-needed features.

The project is built on a #PHP/#MySQL platform, but we also need people to be able to assist others just using the software to give developers some space.

If you're willing and able to help, please follow @Friendica Support and the project on Github: https://github.com/friendica/friendica

Thank you!

in reply to Hypolite Petovan

Still learning a lot about #Friendica and the #fedivers myself. But I'll be always happy to help others, and maybe I'll be able to also contribute some day. The vision of an open, noncommercial decentralized social network is worth the effort.
@Hypolite Petovan what will be best practice to get started to support developers? Unfortunately, I not that much experience in open source community social culture. I guess participating the discussion on the git site?
in reply to Marek Bachmann

@">Marek Bachmann :friendica: Yes! Open source community social culture is pretty much "do what you can on your own". Even inaccurate answers are better than no answer at all. Adding your support for new features or enhancements go a long way to motivate developers, acknowledging bug reports is good etiquette, and assisting support requests by gathering as much details as possible often helps troubleshoot the issue.

Finally, correcting existing documentation or guides or writing updated ones is absolutely stellar.
Unknown parent

Hypolite Petovan
@Fedi.Tips Thank you for asking, we're a bit swamped at the moment, so I feel like a shoutout would be better after the upcoming release slated for December/early January. If you follow me you'll hear about it.
in reply to Hypolite Petovan

@Hypolite Petovan Sadly, my PHP experience is very limited. I haven't really used it since the 00s. Am happy to help with the answering of general questions, though.
in reply to Jonathan Lamothe

@Jonathan Lamothe (he/him) ❌ @Hypolite Petovan
Well same here. My PHP knowledge of 2003 to 2007 is completely outdated. The last thing I did was porting the application I wrote at that time from PHP5 to PHP7, but that is some 6 or 7 years back, too. Since then I didn't write a single line of code in PHP anymore.
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ @Jonathan Lamothe (he/him) ❌ @ITMC GmbH As much as I appreciate you trying to motivate people to contribute code, the Friendica codebase has reached a point where it is probably out of reach of amateurs and requires the attention of professional developers like Michael, Philip and I all are.
in reply to Hypolite Petovan

in reply to Hypolite Petovan

in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ @Jonathan Lamothe (he/him) ❌ @Hypolite Petovan Completely agree – but not before sometime in 2024 when I will retire. Until then I'm managing a network restructuring project of a financial institution which keeps me fully occupied. Sorry. Really would like to contribute.
in reply to ITMC GmbH

@ITMC GmbH
this should be good - but as i understand hypolite@friendica.mrpetovan.com
it is better not to change the code if you are not firm with it.
@Jonathan Lamothe (he/him) ❌
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ @Jonathan Lamothe (he/him) ❌ Completely agree again. But I think, in 2024 I'm so familiar with Friendica, that I'm able to write an extensive FAQ for administrators – which is still missing nowadays, AFAIK. 😉
in reply to ITMC GmbH

@ITMC GmbH Please do, documentation is crucial and we developers lack the, erm, time to reliably contribute to it!
in reply to Hypolite Petovan

@Hypolite Petovan

What can they do in the Friendica project? 🤔
My technical background is that I have been writing some web applications for the company since about 2000 with PHP (from version 3), mySQL/MariaDB and Postgres. I also use JavaScript and HTML, and since version 2.x Smarty as a template engine.
In addition, I used to write scripts with Perl and now 99.9% with Python. 😊

Version management used to be in Subversion and since GIT has been around, only in GIT, but since Github was taken over by Microsoft, I don't use the service anymore, I host it myself first with Gogs and then with Gitea. 🤔
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓
What can they do in the Friendica project?

  • On the GitHub project page, we have a few issues labeled as "Junior Jobs".
  • The official wiki has outdated information. @Tobias can grant write access to it.
  • Even the embarked documentation could use an overhaul, it's stored in the project files but it's mostly Markdown so no need for a technical background.
  • Support requests on GitHub are often lacking context information, asking for it ahead of a developer would be appreciated.
  • Mutual aid on the @Friendica Support forum goes a long way, it's already pretty active in German, a little less so in English.
in reply to Hypolite Petovan

@Hypolite Petovan
Thank you very much,

these are all interesting areas, but I see this is all going towards Github and having to set up an account there. (This is a noGo as long as Microsoft owns it).

I'll have a look at the wiki (there's also a gitea linked, but that's probably not actively used anymore or?) and especially the forum, if I can help there.

Thank you for the quick answer and the collection of information.

@Tobias
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ Gitea is still the goal to move to, currently it's a mirror of GitHub but once we figure out the Continuous Integration on Gitea (hi @Philipp Holzer !), we should be able to fully migrate.
in reply to Hypolite Petovan

@Hypolite Petovan
Good idea with Gitea, I only use it for my own projects. But there are not several users working on it.
But it should bring everything what you have on Github too, except the eyes of Microsoft.
@Philipp Holzer
in reply to Hypolite Petovan

@Hypolite Petovan
It is a pity that this process has not gone further. Many of the large projects have turned their backs on Github for the same reasons.

Thus, it would probably also be time to set a sign here and if an own system is already available, then this is even easier.

Of course, I can not say how difficult it is to move the messages and then take over, or whether you have to make a cut, etc..
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ We will make an announcement when we finally switch over. But I'm not expecting an uptick in activity when it happens. What we'll gain in privacy-conscious contributors, we'll probably lose in existing GitHub users who don't want to make the effort to create yet another account to submit their support request/bug report/new feature.
in reply to Hypolite Petovan

@Hypolite Petovan
Of course, if you look at it that way, that could be a fact.
It is difficult to weigh that of course, what it brings but I must say, for me and I refer now 100% to my ideas and not to the project set the data protection very high. For this reason, I also use as a messenger, for example, no Whatsapp but only Threema, Signal or Matrix.
But that's another topic and not this one.

Let's see what the future brings.
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

We have to distinguish between the "normal" upstream branch and the Docker images I maintain.

For the upstream branch, I don't see any impediments anymore. It's fully merged to Woodpecker as CI/CD and most of the time, it's working fine

For the Docker images, it's really hard currently. Because I use a "standard" CI/CD action script/binaries from the Docker maintainers themself and they hardly relay on Github. Currently it's not possible to automatically test the Docker images. And as "official" and "best practice" Docker image, as Friendica is part of, we need a github repository to relay on (but we could make a "mirror" repo, so that's not a real issue 😀 )
in reply to Philipp Holzer

@Philipp Holzer Great news, when can we migrate the upstream repo and leave a mirror on GitHub?
in reply to Hypolite Petovan

Gib es irgendwo ein Howto für eine Entwicklungsumgebung? Reicht es einfach, lokal Friendica zu installieren und eine "Wegwerf Domain" drauf zu werfen? Oder nutzt ihr dann eine localhost Oder wie entwickelt und testet ihr lokal?
Würde mir gerne mal ein paar "Junior" Issues ansehen, um damit in den Code zu kommen und dann potentiell mehr zu machen. 😀
in reply to grischa

@grischa Answering in English. I have a second Friendica node at https://dev-friendica.mrpetovan.com where I test all my developments. I would advise against localhost since you wouldn't be able to test any federation feature.
in reply to Hypolite Petovan

Sorry, didn't get the helper mention, I'll switch to Englisch, too.

Hmm.. But do you develop on that server directly or how is your coding environment? How do you debug, when it s not your local machine? Remote debugging?
in reply to grischa

@grischa I use JetBrains phpStorm as my IDE. It has a Deployment feature where it keeps an SFTP connection open with my remote server, and any file changed locally is updated on my server as well.

I am a little ashamed to admit I don't know how to use remote debugging, so I just output/log data through the code during my work, and clean up the debugging stuff before committing my work on Git.
in reply to Hypolite Petovan

Okay, I am using phpStorm, too. But I never saw that sync feature, maybe because I didn't use it yet, because I develop my server software local normally..
Debugging would be very helpful, but maybe it works without.
Okay, thanks for that input, I will try something. 😀
(I could point a real domain to my local server maybe?)
in reply to grischa

@grischa I'm not sure how you would point a domain to a local machine but it should be possible. Let me know if you want me to test federation with your dev setup once you're done!
in reply to Hypolite Petovan

Thanks for that offer! 😊
But I am running a Pleroma and a Hubzilla instance on my own, so I guess this is enough for testing whether federation works.
I'll come back to you, if it doesn't.. 😆
in reply to Hypolite Petovan

@Hypolite Petovan @grischa
If you are developing locally you could get a dyndns domain or something that points to your home router.
This then simply reverse proxy to your local system should actually be an idea for this.

Of course easier if you do the development via SFTP on your server and you also exclude any other bugs.
in reply to MovedSinyx

Thanks for that offer. 💙
But my DNS is at INWX, they already have the DynDNS feature. Never tested it yet, but it should work as they even document how I have to configure it with my FritzBox (https://kb.inwx.com/de-de/8-dyndns). 🙂
in reply to Hypolite Petovan

@Hypolite Petovan I have setup a local #Apache and added an entry to /etc/hosts to point to my local machine. Then in a /etc/apache2/sites-available/friendica.conf I setup a virtual host on that host name and even setup a self-signed SSL certificate so I can run #Friendica locally. To be able to receive mails locally, as I have #Linux running here, I had to a bit patch Friendica to disable a regex check on the entered email address. Now when I want to locally federate with e.g. #GNUSocial I just have to repeat above steps and I remember I was able to setup "remote" follow between these two local instances. For Windows users, there is #WinAMP around for a very long time, including #Mercury mail server so you could be able to repeat it even on Windows.
in reply to Roland Häder

@Hypolite Petovan So in the end, I don't have to sync my files with my server by SFTP, I just develop locally and independently from my server and when I'm finished with my changes, I do the usual stuff, like pushing them on my server (see https://git.mxchange.org/?p=friendica.git;a=summary ) and pulling from there through local file access.
in reply to Roland Häder

@Hypolite Petovan True you can leave out the /etc/hosts part and just access it through, e.g. https://localhost/friendica/ and set RewriteBase /friendica/ accordingly. With the separate host name you also have a separate error.log and access.log so it won't mix with other installations on your local machine.
in reply to grischa

@grischa @tobias @zwovierzwo
i'm using DDEV for local development. I've fired up Friendica within 5 minutes with the bonus that the whole config can be added to git. No more "works on my machine" as everybody is using the same config.
in reply to Thorsten Daners

Never heard about DDEV before, but found their website by searching. Thanks for that hint! I will have a look at it (atm I don't even know what it does, seems to be docker related).
in reply to grischa

@grischa @tobias @zwovierzwo
Yes. But there is defacto no docker knowledge needed. Everything you need to know is written down in the config.yaml which is located in the .ddev folder.

Check my commit here: https://github.com/Schnoop/friendica/commit/7a39be8270c1ce56c7a2df078bfbfd310601c569
in reply to Tobias

@Tobias
For what the write access I think I'm a bit on the line. The forum I can also comment so or not?
in reply to Tobias

@Tobias
I think I know what you meant - I hope so.
Access to the wiki? So I don't have to create an account there first and then you can give it further access.
As far as I have seen this is a Dokuwiki and there should be so. Then I would first register in the hope that this works.
in reply to Hypolite Petovan

@Hypolite Petovan Thanks for the overview. Though I completely lack insight to the big picture of Friendica, "Junior Jobs" reads like worth a look.
in reply to Hypolite Petovan

@Hypolite Petovan The way its components are tied together; where I have to dig in the source if I want to change something without breaking something else. That sort of things. 😀
in reply to Andreas Kilgus

@Andreas Kilgus Ok, I was wondering if you were talking about the philosophy of the project. I've tagged a few task I believe are good entry points into the project code, please ask questions if you're unsure of something.
in reply to Hypolite Petovan

I had a plan on doing a documentation rewrite, and then was hit by a pandemic - I think I have approximately 20 minutes a week to commit to it - but maybe that's unfair - I have about a month of vacation coming up and I will try to commit some time
in reply to silverwizard

@silverwizard Please start small, Rome, a day, etc... If you have more ambitious plans, please present them to other people to garner support.
in reply to Hypolite Petovan

Remote Debugging with PHPstorm works very will. You'll need an ssh tunnel to the Tunnel and a mirror of the folders on the Server on your local drive.
here is a tutorial
in reply to Raroun

@Raroun Thanks, I know it's possible but I've never included remote debugging in my toolbox so I don't even know when it would be warranted or not.
in reply to Raroun

But this only works, when the remote server supports XDebug, right? This is not the case in too much environments, I guess.. 🤔
in reply to grischa

Sadly, yes 🙁
I work with my own servers, so it wasn’t a problem for me to set it up 😀
in reply to grischa

@grischa I have XDebug installed on my remote server, I use it for more verbose error messages and also for the profiler, but not for remote debugging.
in reply to Hypolite Petovan

@Hypolite Petovan
another question at this point.
Does a kind of Kanban board exist for tasks that are pending or would that perhaps be a solution for development and the tasks that are currently being completed or should still be developed?
In my office, we have had relatively good experiences with this - for example, we have Taiga running here.
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ No we don't have any sort of product management. No requirements, no schedule (apart the 3 months release schedule), no task list besides the GitHub issue tracker.
in reply to Hypolite Petovan

@Hypolite Petovan
well - I thought maybe there is something like a visual structuring here and you can see who is working on which tasks. We have something like that at work, so we can do sprints and see who is working on which problem, new function and which bugs.
This allows us to move them from release to release and prioritize or categorize them accordingly.
But also if it takes longer or certain dependencies still needs us to write under tasks.
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ If the Core Developers team grows even by one, I think it would be good to start having this kind of project management tool. With three people I feel like this is still manageable, but the work load isn't, so we need more people, and with more people more structure.
in reply to Hypolite Petovan

@Hypolite Petovan
What? Only three coding junkies. 😆

I understand that you are always on full throttle. 😲

I also think that something has to be changed and now the code conversion appears to me in a different light.

So then we should gather all forces and bring the project forward.
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

@7homas ♓ Of us three, I believe only Michael consistently commits time to the project. My contributions have been more irregular, although I do keep an eye on the GitHub project, so even when I'm not actively contributing code, I'm looking for ways to help others.
in reply to Hypolite Petovan

@Hypolite Petovan
Well, it's a pity that there aren't more people here who can or want to contribute more time to the project.
Basically, it's a really great idea that you can host Friendica like, for example, a Wordpress. So the number of servers should actually be higher than they are currently due to this possibility.
But of course the code part is very complex and probably needs to be cleaned up and improved at one point or another.
So it is clear to me that this cannot be achieved due to the small number of heads, that one makes a big cut as I had suggested one time or another.

My goal would be to understand the code more and maybe start with a small junior point, but if something like that isn't really on the agenda and it's better not to experiment with the code, then that's the way it is.
in reply to Hypolite Petovan

I don't have much experience with PHP (I did it for 3 days in 2009, I think), and I'm currently a bit busy, but I might try to tackle some fairly language-independent issues over the Christmas break, if you have any.
in reply to Hypolite Petovan

@Hypolite Petovan Thank me when I've got a PR ready. There's absolutely no guarantee I'll actually get that far.

By the way, you do have js front-end code, so that's something I should be able to pick up. Also, I'm generally at my best dealing with complex interactions, front-backend interaction, algorithms, data structures, that sort of stuff. (And refactoring tech debt and complex code into something more readable, but maybe that's not the best place to start an unfamiliar language.) I'm terrible at infra, configurations, and fancy CSS. Just in case you have an issue that would be a good fit for that. But I don't mind picking up something else.
in reply to Martijn Vos

@Martijn Vos We are in an absolute dearth of front-end developers, so your help would be absolutely welcome. I believe our days of fancy CSS are behind us with the frio theme, but interactions can be added or improved. Case in point: https://github.com/friendica/friendica/issues/11825

If you could look into this, this would take a big worry off my plate.
in reply to Hypolite Petovan

@Hypolite Petovan I'll have a look at it. But don't expect quick results from me; I also have a paid job for stuff like this.
in reply to Martijn Vos

@Martijn Vos All of us do as well! No fancy full-time developer for Friendica (yet). Please don’t hesitate to ask questions.
in reply to Hypolite Petovan

@Hypolite Petovan
how is the plan, if i want to change something in friendica - esspacially with the junior jobs.
Git Checkout - make own branch and then i think a merge to the develop branche can not be done by the non core team developer
@Martijn Vos
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒

Yes @7homas ♓, there is basically no distinction between first time committer and long term dev.

You clone the repository, make your changes in your project branch. Test the changes till you are satisfied and push them to github. There do a pull request and some core developers will review your code. At the end of the review the code will be merged (or not) and along the way, some changes to the work might be asked for.
Unknown parent

Hypolite Petovan
@Linux Walt Alt (@lnxw37a2) {3EB165E0-5BB1-45D2-9E7D-93B31821F864} This is most antiquated indeed. Beyond shiny new language features, we’ve started implementing Dependency Injection and a form of Domain-Driven Development, so getting familiar with these term would also help.
in reply to Hypolite Petovan

Happy to help out. Is there any documentation on how to set up a development environment? Haven't done PHP in 20 years or so but have lots of experience in other languages.

If a VS Code devcontainer setup that launches a LAMP environment with Friendica preconfigured would be useful, I'm happy to contribute that for starters.

That, and I'm curious how to populate a node with test data. Can I just dump and import my main account, or is there a better way?
in reply to Nolan Darilek

@Nolan Darilek Hi Nolan and thank you for the offer! There are no specific steps to set up a development environment aside from installing a node. A challenge with a local development setup is the potential lack of federation with other servers.

As for populating a node with test data, creating a few users and following remote accounts are enough for most purposes. Although dumping your main account and importing it would be a great way to test this seldom-used feature!
in reply to Hypolite Petovan

OK, I'll give it a shot in the next few days and will see where I get with it.
Unknown parent

Hypolite Petovan
@Le Général Midi Merci ! N'étiez-vous pas sur Diaspora avant ? Je crois reconnaître votre nom de profil ansi que le nom de votre groupe de musique.
Unknown parent

Hypolite Petovan
@Le Général Midi Non, pas du tout, le #Fedivers (basé sur ActivityPub) et la #Fédération (basée sur Diaspora) sont deux réseaux incompatibles entre eux. Une poignée de plate-formes supporte les deux protocoles (Friendica et Hubzilla en tête) mais cela conduit à des discussions fragmentées où les utilisateurs de Diaspora ne peuvent voir que les réponses Friendica aux comptes Mastodon, et vice-versa.
Unknown parent

n8chz
@legeneralmidi En théorie, tous les services fédiversaux sont interopérables, mais mes partages de Mastodon à #Friendica viennent sans texte.

https://github.com/friendica/friendica/issues/12318
in reply to n8chz

@n8chz ⒶⒺ Désolé pour ça, ce problème semble être très spécifique à votre situation. Il sera difficile de le résoudre fiablement si nous ne pouvons pas le reproduire fiablement de notre côté.

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.