diff --git a/pinaxcon/proposals/forms.py b/pinaxcon/proposals/forms.py
index d1184b4a..3578fd17 100644
--- a/pinaxcon/proposals/forms.py
+++ b/pinaxcon/proposals/forms.py
@@ -23,6 +23,10 @@ DEFAULT_FIELDS =  [
     "materials_release",
 ]
 
+TALK_FORMAT_FIELDS = copy.copy(DEFAULT_FIELDS)
+TALK_FORMAT_FIELDS.insert(2, "talk_format")
+TALK_FORMAT_FIELDS.append("ticket_acknowledgement")
+
 class ProposalForm(forms.ModelForm):
 
     required_css_class = 'label-required'
@@ -48,3 +52,24 @@ class TutorialProposalForm(ProposalForm):
     class Meta:
         model = models.TutorialProposal
         fields = copy.copy(DEFAULT_FIELDS)
+
+
+class MiniconfProposalForm(ProposalForm):
+
+    def __init__(self, *a, **k):
+        super(MiniconfProposalForm, self).__init__(*a, **k)
+        self.fields['ticket_acknowledgement'].required = True
+
+
+class CopyleftComplianceProposalForm(MiniconfProposalForm):
+
+    class Meta:
+        model = models.CopyleftComplianceProposal
+        fields = TALK_FORMAT_FIELDS
+
+
+class MemberProjectProposalForm(MiniconfProposalForm):
+
+    class Meta:
+        model = models.MemberProjectProposal
+        fields = TALK_FORMAT_FIELDS
diff --git a/pinaxcon/proposals/migrations/0005_copyleftcomplianceproposal_memberprojectproposal.py b/pinaxcon/proposals/migrations/0005_copyleftcomplianceproposal_memberprojectproposal.py
new file mode 100644
index 00000000..c2c99ea1
--- /dev/null
+++ b/pinaxcon/proposals/migrations/0005_copyleftcomplianceproposal_memberprojectproposal.py
@@ -0,0 +1,55 @@
+# Generated by Django 2.2.28 on 2023-04-15 04:51
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('symposion_proposals', '0003_auto_20170702_2250'),
+        ('proposals', '0004_auto_20221208_0102'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='CopyleftComplianceProposal',
+            fields=[
+                ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
+                ('target_audience', models.IntegerField(choices=[(4, 'Developer'), (3, 'Community'), (1, 'End User'), (2, 'Business')], help_text='Who is the target audience for your session?')),
+                ('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, on YouTube under the standard YouTube licence, and on other platforms under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/'> CC BY-NC-SA 4.0</a>) licence.")),
+                ('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
+                ('primary_topic', models.IntegerField(choices=[(1, 'Linux'), (2, 'Software'), (3, 'Hardware'), (4, 'Firmware'), (5, 'System Administration / Operations'), (6, 'Security'), (7, 'Documentation'), (8, 'Community'), (9, 'Science & Data'), (10, 'Galleries, Libraries, Archives & Museums (GLAM)'), (11, 'Multimedia'), (12, 'Aerospace / UAV'), (13, 'Agriculture'), (14, 'Other')], help_text='What is the primary topic area for your session?')),
+                ('experience_level', models.IntegerField(choices=[(1, 'Beginner'), (2, 'Intermediate'), (3, 'Advanced')], help_text='What level of experience will your session be pitched at?')),
+                ('require_approval', models.BooleanField(default=False, help_text='Do you require further approval from your employer or institution before you can confirm your availability to present?')),
+                ('content_warning', models.TextField(blank=True, help_text='This will be shown on the schedule to give attendees advanced warning of topics covered in the session. ', verbose_name='Content Warning')),
+                ('content_warning_html', models.TextField(blank=True)),
+                ('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
+                ('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
+            ],
+            options={
+                'verbose_name': 'Copyleft and Compliance talk proposal',
+            },
+            bases=('symposion_proposals.proposalbase',),
+        ),
+        migrations.CreateModel(
+            name='MemberProjectProposal',
+            fields=[
+                ('proposalbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='symposion_proposals.ProposalBase')),
+                ('target_audience', models.IntegerField(choices=[(4, 'Developer'), (3, 'Community'), (1, 'End User'), (2, 'Business')], help_text='Who is the target audience for your session?')),
+                ('recording_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any recordings of presentations covered by this proposal, on YouTube under the standard YouTube licence, and on other platforms under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/'> CC BY-NC-SA 4.0</a>) licence.")),
+                ('materials_release', models.BooleanField(default=True, help_text="I allow Linux Australia to release any other material (such as slides) from presentations covered by this proposal, under the <a href='https://creativecommons.org/licenses/by-sa/3.0/au/deed.en'> Creative Commons Attribution-Share Alike Australia 3.0 Licence</a>")),
+                ('primary_topic', models.IntegerField(choices=[(1, 'Linux'), (2, 'Software'), (3, 'Hardware'), (4, 'Firmware'), (5, 'System Administration / Operations'), (6, 'Security'), (7, 'Documentation'), (8, 'Community'), (9, 'Science & Data'), (10, 'Galleries, Libraries, Archives & Museums (GLAM)'), (11, 'Multimedia'), (12, 'Aerospace / UAV'), (13, 'Agriculture'), (14, 'Other')], help_text='What is the primary topic area for your session?')),
+                ('experience_level', models.IntegerField(choices=[(1, 'Beginner'), (2, 'Intermediate'), (3, 'Advanced')], help_text='What level of experience will your session be pitched at?')),
+                ('require_approval', models.BooleanField(default=False, help_text='Do you require further approval from your employer or institution before you can confirm your availability to present?')),
+                ('content_warning', models.TextField(blank=True, help_text='This will be shown on the schedule to give attendees advanced warning of topics covered in the session. ', verbose_name='Content Warning')),
+                ('content_warning_html', models.TextField(blank=True)),
+                ('talk_format', models.IntegerField(choices=[(1, 'Lightning Talk (5-10 min)'), (2, 'Short Presentation (20-25 min)'), (3, 'Presentation (40-45 min)')], default=3, help_text='Please indicate your preferred talk length in the private abstract field below.')),
+                ('ticket_acknowledgement', models.BooleanField(default=False, help_text='I understand that I will be required to purchase a conference ticket and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events.')),
+            ],
+            options={
+                'verbose_name': 'SFC Member Project talk proposal',
+            },
+            bases=('symposion_proposals.proposalbase',),
+        ),
+    ]
diff --git a/pinaxcon/proposals/models.py b/pinaxcon/proposals/models.py
index 523782be..8e5d97a5 100644
--- a/pinaxcon/proposals/models.py
+++ b/pinaxcon/proposals/models.py
@@ -127,3 +127,43 @@ class TutorialProposal(Proposal):
 
     class Meta:
         verbose_name = "tutorial proposal"
+
+
+class MiniconfSessionProposal(Proposal):
+
+    FORMAT_SHORT_PRESENTATION = 1
+    FORMAT_MEDIUM_PRESENTATION = 2
+    FORMAT_LONG_PRESENTATION = 3
+    FORMAT_DEMONSTRATION = 4
+    FORMAT_OTHER = 5
+
+    TALK_FORMATS = [
+        (FORMAT_SHORT_PRESENTATION, "Lightning Talk (5-10 min)"),
+        (FORMAT_MEDIUM_PRESENTATION, "Short Presentation (20-25 min)"),
+        (FORMAT_LONG_PRESENTATION, "Presentation (40-45 min)"),
+    ]
+
+    talk_format = models.IntegerField(
+        choices=TALK_FORMATS,
+        default=FORMAT_LONG_PRESENTATION,
+        help_text="Please indicate your preferred talk length in the private abstract field below."
+    )
+
+    ticket_acknowledgement = models.BooleanField(
+        default=False,
+        help_text="I understand that I will be required to purchase a conference ticket "
+        "and arrange my own travel and accommodation, as linux.conf.au miniconfs are unfunded community run events."
+    )
+
+    class Meta:
+        abstract = True
+
+
+class CopyleftComplianceProposal(MiniconfSessionProposal):
+    class Meta:
+        verbose_name = "Copyleft and Compliance talk proposal"
+
+
+class MemberProjectProposal(MiniconfSessionProposal):
+    class Meta:
+        verbose_name = "SFC Member Project talk proposal"
diff --git a/pinaxcon/settings.py b/pinaxcon/settings.py
index 452ea942..2e806ccc 100644
--- a/pinaxcon/settings.py
+++ b/pinaxcon/settings.py
@@ -363,6 +363,8 @@ CONFERENCE_ID = 1
 PROPOSAL_FORMS = {
     "talk": "pinaxcon.proposals.forms.TalkProposalForm",
     "tutorial": "pinaxcon.proposals.forms.TutorialProposalForm",
+    "copyleft-compliance": "pinaxcon.proposals.forms.CopyleftComplianceProposalForm",
+    "sfc-member-project": "pinaxcon.proposals.forms.MemberProjectProposalForm",
 }
 MAIN_CONFERENCE_PROPOSAL_KINDS = ("Talk",)